2016-04-15 18 views
1

eclipseが 'name'がこのスコープで宣言されていないと言っているのはなぜですか?上記いずれかが私のヘッダであり、他の一つは私の.ccp文字列変数 'が宣言されていませんでした'ヘッダーC++

#include<string> 
class Characters { 
public: 
std::string characters(int); 
std::string name; 
}; 



string characters(int x){ 

ofstream characters; 
characters.open("characters.txt"); 
while (characters >> name){ 
return name; 
} 
} 
+0

する必要があります正確ではない重複の謝罪。リンクされた質問には、実際にエラーを再現しないコードがリストされます。しかしOPは実際にコンパイルされたコードで*行ったのと同じエラーを出しました。 – DevSolar

答えて

1

string Characters::characters(int x){ 

    ofstream characters; 
    characters.open("characters.txt"); 
    while (characters >> name){ 
     return name; 
    } 
} 
+0

thxはその部分を逃した:p – Grunter

1

コードはCharactersクラスのメソッドではないからです。したがって、そのクラスのメンバーを参照することはできません。

コードはほとんど意味をなさないが、それはもちろん別の問題である。

2

理由は、あなたが以下のようにそれを指定する必要があるので、これはクラスメソッドの実装であることを言及しなかったです。

変更:

string characters(int x) 

へ:

string Characters::characters(int x) 
関連する問題