私は今、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;
}
コンパイルすると、このヘッダーから 3 つのエラーが発生します (これらはすべて、ヘッダーを宣言する行にあることに注意してください)。
12 行目: エラー C2143: 構文エラー: ';' がありません 「<」の前
12 行目: エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません
行 (12): エラー C2238: ';' の前に予期しないトークンがあります
そして、ここに私の質問があります: 私は一体何を間違っているのでしょうか? (また、ベクトル宣言に識別子 Thread が表示されます。これは私が作成したスレッド オブジェクトです) 編集: 私が与えられたすべての回答は機能していません。ベクトルライブラリを含めなかったからではありません(stdafx.h_に含めることで含めました、またはベクトルの参照を使用しているためです(修正しましたが、エラーを修正しませんでした)。