開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
void TestFunc(unsigned int TestVar)
{
return ;
}
int main()
{
int Var = 123;
TestFunc(Var);
return (0);
}
在呼叫TestFunc的時候,我故意傳入了不同資料型態(int)的變數,卻可以正常的完成
編譯(0 error, 0 warning)。
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
一般來說如果在傳值的過程中資料型態錯誤,編譯器應該會提出error或是warning,
為什麼這段程式碼卻可以正常的完成編譯呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.212.239
推
11/30 16:01, , 1F
11/30 16:01, 1F
→
11/30 16:39, , 2F
11/30 16:39, 2F
→
11/30 17:16, , 3F
11/30 17:16, 3F
→
11/30 17:17, , 4F
11/30 17:17, 4F
→
11/30 17:38, , 5F
11/30 17:38, 5F
推
11/30 18:01, , 6F
11/30 18:01, 6F
→
11/30 18:01, , 7F
11/30 18:01, 7F
→
11/30 18:17, , 8F
11/30 18:17, 8F
→
11/30 18:18, , 9F
11/30 18:18, 9F
→
11/30 19:34, , 10F
11/30 19:34, 10F
→
11/30 20:17, , 11F
11/30 20:17, 11F
推
11/30 21:32, , 12F
11/30 21:32, 12F
→
11/30 23:51, , 13F
11/30 23:51, 13F
推
12/01 00:12, , 14F
12/01 00:12, 14F
推
12/01 00:18, , 15F
12/01 00:18, 15F
→
12/01 00:19, , 16F
12/01 00:19, 16F
→
12/01 00:53, , 17F
12/01 00:53, 17F
→
12/01 01:35, , 18F
12/01 01:35, 18F
→
12/01 04:34, , 19F
12/01 04:34, 19F
→
12/01 10:23, , 20F
12/01 10:23, 20F
→
12/01 13:54, , 21F
12/01 13:54, 21F
→
12/01 14:00, , 22F
12/01 14:00, 22F
→
12/01 14:01, , 23F
12/01 14:01, 23F
→
12/01 14:01, , 24F
12/01 14:01, 24F
→
12/01 16:54, , 25F
12/01 16:54, 25F