2016-04-15 53 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)