奇怪的 Visual Studio 2008 C++ 编译器错误

问题描述 投票:0回答:2

我有三行代码:

 //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++ visual-studio-2008 comments
2个回答
5
投票

您是否可能将代码编译为 C 而不是 C++? C(C99 之前的版本,Visual Studio 不支持)要求块中的所有定义先于任何其他语句。


0
投票

我也遇到了同样的问题。

编译错误是:

*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;
© www.soinside.com 2019 - 2024. All rights reserved.