我有三行代码:
//int pi;
activation->structSize = sizeof(rmsActivationT);
int pi; //program wont compile with this here
每次我取消注释第二个 int pi 并注释第一个 int pi 时,我都会收到此错误:语法错误:缺少 ';'在“类型”之前。当我取消注释第一个 int pi 并注释第二个 int pi 时,我的编译器不再抱怨。这个错误已经困扰了我几乎一整天,现在任何想法都会很棒。
视觉工作室2008 Windows XP 32 位
您是否可能将代码编译为 C 而不是 C++? C(C99 之前的版本,Visual Studio 不支持)要求块中的所有定义先于任何其他语句。
我也遇到了同样的问题。
编译错误是:
*main.cpp(325):错误 C2601:'FLAG':本地函数定义非法
main.cpp(323):该行包含尚未匹配的'{'
main.cpp(326):致命错误 C1075:在“main.cpp(323)”的左大括号“{”匹配之前找到文件结尾*
但是我的代码没有任何问题。我数了所有括号和匹配的数字。另一个函数内部没有任何函数。
我通过从源代码中删除所有“//”注释来解决这个问题。原因似乎是行格式错误,导致编译器错过换行符,因此注释后的行也被视为注释。
例如:
// This is a comment
This_is_a_line;
被视为:
// This is a comment This_is_a_line;