我现在正在为 lua 制作一个多线程库,如果没有这个奇怪的问题,一切都会编译。我有一个容器对象来保存我创建的线程对象类。这是此对象的标头:
#include "stdafx.h"
;
using namespace std;
class LuaThreadManager {
public:
LuaThreadManager(int size);
Thread& get(int id);
int add(Thread& t);
void remove(int id);
protected:
vector <Thread&> T;
int numoccupied;
}
当我编译时,我从这个头文件中得到三个错误(我会注意到它们都在我声明我的头文件的那一行):
第 12 行:错误 C2143:语法错误:缺少 ';' 在'<'之前
第 12 行:错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
第 (12) 行:错误 C2238:“;”之前的意外标记
这是我的问题:我到底做错了什么?(此外,您将在向量声明中看到标识符 Thread;它是我创建的线程对象) 编辑:我得到的所有答案都没有奏效。这不是因为我没有包含向量库(我确实通过将它包含在 stdafx.h_ 中来包含它,或者因为我使用了向量的引用(已修复,没有修复我的错误)。