[问题]循环下 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