Visual Studio无法识别某些类

时间:2013-01-10 19:48:21

标签: c++ visual-studio-2010

我一直收到错误:

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

代码行:

Frame mCameraFrame;

很明显我的帧类没有以某种方式被发现。我有直接包含在此文件中的frame.h头文件(定义Frame类)。为什么视觉工作室不认识它?

2 个答案:

答案 0 :(得分:3)

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

例如:

struct foo
{
    int a;
}

Frame mCameraFrame;

注意;之后丢失的}?这使Frame合法作为结构的一个实例,但现在;之前缺少mCameraFrame,导致您报告的错误类型。

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

单个遗失;或遗失}导致错误报告的次数比实际问题晚了很多行,有时会有数百个错误,这并不罕见。

答案 1 :(得分:0)

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