作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 StackOverflow 上的类实现发现了一种类 Java 枚举的新颖方法。
在它自己的头文件中声明的符号类
class Symbols {
public:
Symbols() {}
static const Symbols CREATE;
. . .
private:
std::string the_symbol;
// Symbols constructor
Symbols (std::string symbol){
this->the_symbol = symbol;
}
public:
std::string get_symbol(void) {
return the_symbol;
}
void set_symbol(std::string new_value) { the_symbol = new_value; }
void initialize(void){
const Symbols CREATE = Symbols("create");
. . .
}
};
以多种方式在类里面使用
bool RecursiveDescentParser::type_name(){
if (accept(Symbols::STRING) || accept(Symbols::INTEGER)){
return true;
}
else
return false;
}
和
symbol_ = Symbols::WHERE;
if (!boost::iequals(tokenizer_->peekAtNext(), symbol_.get_symbol(), loc_)){
// complete any tokens
std::string temp = tokenizer_->completeToken();
}
Symbols
header 包含在多个类中。有很多类型的编译器错误
1>recursive_descent_parser.obj : error LNK2001: unresolved external symbol "public: static class Symbols const Symbols::VALUES" (?VALUES@Symbols@@2V1@B)
什么给了?我收到了所有 39 个 Unresolved external 问题,其中一些与这个问题无关。我正在正确定义头文件以确保没有重复声明并且所有类都能正确编译。
最佳答案
您已经声明了静态成员;但它也需要在一个源文件中定义和初始化。
const Symbols Symbols::CREATE("create");
我猜你认为这就是 initialize
函数所做的;但它只是创建一个 Symbols
类型的本地对象,然后在函数返回时销毁它。
关于c++ - Unresolved external symbol 欢闹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15817953/
我通过 StackOverflow 上的类实现发现了一种类 Java 枚举的新颖方法。 在它自己的头文件中声明的符号类 class Symbols { public: Symbols() {}
我是一名优秀的程序员,十分优秀!