class A
{
public:
static bool S(int);
static string str;
static int integer;
};
bool A::S(int)
{
str+="A";
}
プログラムをビルドすると、エラーが発生します:「str」宣言されていない識別子。
int
型が未定義であることを一瞬無視すると、 s のみを使用してもこのエラーが発生します。
表示されているエラーは、静的変数の定義が欠落しているためです。あなたはそれを宣言しただけです。
string A::str = "initial value";
おそらく複数のエラーがあり、注意を向けているエラーは最も重要度が低いものです。
string
型の名前がありませんstr
宣言されていません。のstr
定義に使用された型が存在しないため、 は未定義です。
解決策は追加することです
#include <string>
using namespace std;
using
ファイルの先頭に(とにかくその行を推奨するわけではありませんが、それは別の話です)。
コンパイラが発行する最初のエラーに常に注意を向ける必要があります。しかし、いくつかの一般的な IDE は、それらを並べ替えることで注目に値します。