オブジェクトが作成されないのはなぜですか?そして、コンストラクターから
どのように実行できますか?AllReferrals.push_back(this);
私がそうするとき、私は言われます
エラーC2065:'AllReferrals':宣言されていない識別子
と同様
エラーC2228:「。push_back」の左側にはclass / struct/unionが必要です
リストの初期化をクラスの前に置くと、
エラーC2065:'AllReferrals':宣言されていない識別子
これが私のコードです:
class Referral
{
public:
string url;
map<string, int> keywords;
static bool submit(string url, string keyword, int occurrences)
{
//if(lots of things i'll later add){
Referral(url, keyword, occurrences);
return true;
//}
//else
// return false;
}
private:
list<string> urls;
Referral(string url, string keyword, int occurrences)
{
url = url;
keywords[keyword] = occurrences;
AllReferrals.push_back(this);
}
};
static list<Referral> AllReferrals;
int main()
{
Referral::submit("url", "keyword", 1);
}