0

C++ では不明な理由で文字列配列を定義できません。この配列からランダムに文字列を取得する必要があります。

次のことを試しています:

string bands[] = { "Rammstein", "Slipknot", "Franz Ferdinand", "Gorillaz" };

エラーとして次のように表示されます。

error C2146: syntax error : missing ';' before identifier 'bands'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C3845: 'SpurdoSparde::Form1::bands': only static data members can be initialized inside a ref class or value type

念のために言っておきますが、私は Windows フォーム アプリケーションを使用しています。違いがあるかどうかはわかりません。

4

2 に答える 2

2

stringand/or notを含めていないようですusing std::string。以下の作品:

#include <string>

int main()
{
  std::string bands[] = { "Rammstein", "Slipknot", "Franz Ferdinand", "Gorillaz" };
}

動的にサイズ変更された文字列のコレクションを使用する場合はstd::vector<std::string>、C スタイルの配列よりも優先する必要があります。固定サイズが必要な場合は、C++ 11 を使用していない場合は、std::array<std::string, N>またはtr1または代替案を参照してください。boost

于 2013-02-05T16:43:49.927 に答える
1

タイプに名前空間修飾子を含めなかったか#include <string>、追加する必要がありました。std::

std::string bands[] = { ... };

するよりもこれを優先してusing namespace std;ください。

また、単純な古い C スタイルの配列ではなく、次のような配列を使用することをお勧めします。std::vector

std::vector<std::string> bands = { ... };
于 2013-02-05T16:43:50.190 に答える