2

ファイルmain.hの上部に次のものがあります。

#include <vector>

class Blah
{
  public:
    Blah(){}
    ~Blah(){}
  protected:
    vector<int> someVector;
  public:
    //methods
};

コンパイルしようとすると、ベクトル宣言行でエラーが発生します。

エラー C2143: 構文エラー: ';' がありません 「<」の前

エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません

エラー C2238: ';' の前に予期しないトークンがあります

何が原因なのかわかりません。誰かが私が間違っていることを見ますか?

4

4 に答える 4

10

vectorクラスはstd名前空間の一部です。宣言を代わりに置き換える必要がありますstd::vector<int>

于 2013-04-04T01:37:09.537 に答える
5

それはstd名前空間にあります:

std::vector<int> someVector;

于 2013-04-04T01:37:12.440 に答える
3

vectorstd 名前空間std::の一部であるため、宣言に追加する必要があります。

std::vector<int> someVector;

提案は別の回答で行われたため、悪い習慣using namespace stdと見なされるため、の使用も思いとどまらせたいと思います

于 2013-04-04T01:37:34.743 に答える
0

使用する代わりに、

std::vector someVector;

いつも使ってみて、

名前空間 std を使用します。

「std::」を何度も入力しないようにするのに役立ちますが、それは良い習慣とは見なされません。

于 2021-09-08T15:18:00.677 に答える