LNK2020,LNK2001-引用静态向量时出现问题

时间:2018-10-14 13:02:22

标签: c++ vector static c++-cli

我正在使用无法解析的令牌无法解析的外部符号。 我决定保留类和变量的名称,因为我相信这样可以更轻松地理解我要执行的操作。

QuestionsSet.h

#include "Question.h"
class QuestionsSet{
private:
    static std::vector<Question> questions;
public:
    static Question getQuestion();
};

QuestionsSet.cpp

#include "QuestionsSet.h"
Question QuestionsSet::getQuestion() {
    for (Question q : questions) {
        if (!q.used) {
            return q;
        }
    }
}

问题问题类具有“已使用”类型的bool字段,默认情况下为false,一旦在游戏中使用了问题,该字段即变为true。我认为他是普通的C ++,但我在标签中加上了“ C ++ / CLI”,因为这是使用Windows Forms的应用程序的一部分,在这种情况下可能很重要。 关于向量问题的任何引用,我都遇到链接器错误。

读取的错误:

  

错误LNK2020无法解析的令牌(0A00046C)“ public:静态类   std :: vector>   QuestionsSet ::问题“   (?questions @ QuestionsSet @@ 2V?$ vector @ VQuestion @@ V?$ allocator @ VQuestion @@@ std @@@ std @@ A)

     

错误LNK2001无法解析的外部符号“ public:静态类   std :: vector>   QuestionsSet ::问题“   (?questions @ QuestionsSet @@ 2V?$ vector @ VQuestion @@ V?$ allocator @ VQuestion @@@ std @@@ std @@ A)

     

错误LNK1120 2个未解决的外部

我花了数小时试图找出答案,但似乎找不到解决方法。 我一直在寻找解决方案,但似乎没有一种适用于这种情况。

0 个答案:

没有答案