错误 C2071:“Lexicon::list”:非法存储类
我有一个类将一堆字符串读入内存,然后提供允许对这些字符串及其关系应用操作的函数。作为其中的一部分,我希望在启动一些操作的 main.cpp 和完成操作的类之间有一个共享内存。为此,在之前的帖子中,建议使用外部类型。但是,现在出现了错误。如何解决此错误并让多个类共享内存空间?
在词典.h
#ifndef _lexicon_h
#define _lexicon_h
#include <string>
#include <vector>
using namespace std;
class Lexicon {
public:
Lexicon();
~Lexicon();
extern vector<vector<string>> list;
void buildVectorFromFile(string filename, vector<vector<string>> &list, int v, int h);
private:
struct charT { char letter; nodeT *next;};
};
#endif
在 main.cpp
#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
#include "lexicon.h"
void buildVectorFromFileHelper (Lexicon & lex)
{
vector<vector<string>> list;
lex.buildVectorFromFile("ASCII.csv", list, 200, 2); //build 2x200 vector list
}