在'='标记之前预期的构造函数,析构函数或类型转换

时间:2009-11-06 01:23:20

标签: c++

我在头文件中的命名空间中有一些extern'd变量,我正在尝试在相应的cpp文件中初始化它们。但是,我不断收到主题标题中给出的错误。我不确定是什么问题。

EX:

// Some header
namespace foo
{
    extern SDL_Surface* bar;
}

// In the impl file
#include "someheader.h"
foo::bar = 0;
.....

感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:4)

在文件级别,您只能定义类型(您只编写了赋值表达式)。所以你需要将其更改为:

SDL_Surface* foo::bar = 0;

答案 1 :(得分:0)

它不知道SDL_Surface是什么类型。你需要定义它或至少向前声明它。