1

我不断收到错误:

error C2146: syntax error : missing ';' before identifier 'mCameraFrame'

对于代码行:

Frame mCameraFrame;

很明显,我的框架类没有以某种方式被发现。我在这个文件中直接包含了 frame.h 头文件(它定义了 Frame 类)。为什么视觉工作室无法识别它?

4

2 回答 2

3

错误来自之前的代码行,可能在头文件中。

例如:

struct foo
{
    int a;
}

Frame mCameraFrame;

;注意 ?后面的缺失}?这使得Frame合法作为结构的实例,但现在缺少;before mCameraFrame,导致您报告的那种错误。

编译器不能;在之后报告丢失,}因为它无法知道那里应该有一个,因为在Frame它之后是完全合法的。

单个缺失;或缺失}导致错误报告比实际问题晚很多行,有时甚至是数百行,这并不罕见。

于 2013-01-10T19:52:17.460 回答
0

我想我会向任何感兴趣的人报告。问题是应该定义 mCameraFrame 的 Frame 类位于不同的命名空间中,所以我所要做的就是“使用命名空间 ....;”。嗬!:P

于 2013-01-15T16:18:33.000 回答