[問題]迴圈下 syntax error問題

作者: RichieRich (Richie)   2023-01-05 14:20:37
開發平台(Platform): (Ex: Win10, Linux, ...)
linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
第一次用cppcheck 這個程式發現不管我如何寫都會出現syntax error
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
例如
for(int i=1;i<3;i++)
printf("test");
或是
int i;
for(i=1;i<3;i++)
printf("test");
都一樣, 我以前寫mfc是沒遇過
請問一下cppcheck的for loop要如何寫才不會出現error?
補充說明(Supplement):
作者: lingege321 (happyChicken)   2023-01-05 14:44:00
n3是什麼 錯誤訊息請補上
作者: RichieRich (Richie)   2023-01-05 16:10:00
錯誤訊息就寫這樣(error) syntax error我懷疑是不是cppcheck 有bug
作者: Lipraxde (Lipraxde)   2023-01-05 16:59:00
Online demo (cppcheck 2.8) 是沒有遇到你說的問題
作者: tomsawyer (安安)   2023-01-05 17:00:00
會不會是你的“”"被改了 我打的三個都不一樣
作者: Lipraxde (Lipraxde)   2023-01-05 17:01:00
恩...不過如果只用你給的這三行的話,沒放到 functionbody 內的話,是會看到 syntax error
作者: RichieRich (Richie)   2023-01-05 18:04:00
我只要把for loop 刪除就不會有錯誤了
作者: Lipraxde (Lipraxde)   2023-01-05 18:13:00
那有沒有可能是文字編碼的問題呀?
作者: Dracarys (MayShowGunMore)   2023-01-05 19:28:00
你也給個runnable example
作者: LPH66 (-6.2598534e+18f)   2023-01-06 00:43:00
給個完整程式碼
作者: mikemike1021 (mike)   2023-01-06 07:00:00
應該跟 Lipraxde 講的一樣,for 不能在全域中,printf 可以。你把他放進任意一個函數內試試看?void test(){你的程式}
作者: Dracarys (MayShowGunMore)   2023-01-06 08:20:00
https://eel.is/c++draft/dcl.pre#nt:name-declaration最外層只能放declaration printf不是
作者: mikemike1021 (mike)   2023-01-06 08:45:00
上述只指在 cppcheck online demo 下,沒跳錯
作者: Dracarys (MayShowGunMore)   2023-01-06 19:53:00
笑死 還真的欸
作者: saladim (殺拉頂)   2023-01-11 23:08:00
printf statement可以在放在全域中?
作者: fatalfeel2 (風在動)   2023-03-17 12:07:00
試用linux coding style 重寫一次 再測

Links booklink

Contact Us: admin [ a t ] ucptt.com