在我的选项类中,我声明了一个自身的静态指针(还有其他一些已被删除的函数,以便于阅读):
class Options {
public:
std::string resourceFolder;
static Options* o;
int GetInt();
std::string GetResourceFolder();
};
在此代码之后,我收到了一个未解决的外部错误,因为我没有定义指针。所以我在我的cpp文件中这样做了:
#include "Options.h"
Options* Options::o;
但是,这应该在没有编译器错误的情况下运行。但是,我从编译器收到以下错误:
致命错误C1001:编译器中发生内部错误。
这是编译器的错误吗?当我不使用指针(使用普通对象声明)时,它也给我相同的错误。可以找到类似的问题here
然而问题解决方案对我不起作用。
修改
我的编译器是visual studio 2017。 我很确定它是一个最小,完整和可验证的例子。