2013-11-27 80 views
0

我正在一個項目中輸入一個字符串,並在控制檯的不同行上輸出該字符串。我有這個工作,但我的問題/錯誤是當我正在尋找該字的具體位置。彈出關於「unsigned searcher = str.find(」good「)的錯誤消息;」在「str」下面有一個紅色下劃線,表示它需要一個類標識符。我在網上查找了一些例子,但沒有能夠解決這個問題。請幫忙!類的類型錯誤

int _tmain(int argc, _TCHAR* argv[]) 
{ 
char str[] = " Hello good sirtttttt..!."; 
char * pointer_char; 
int pos = 0; 
std::string str; 
int i = 0; 
int length = strlen(str); 




string good; // word/char that i want to search 

    cin >> good; 

for (i = 0; i < length; i++) //i<string size 
{ 
    unsigned searcher = str.find("good"); 
    if (searcher != string::npos) { 
     cout << "found at : " << searcher; 
    } 

}

+1

當提出有關編譯器或鏈接器錯誤的問題時,應該在問題中包含實際錯誤(未編輯和完整)。你可能想閱讀[堆棧溢出問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)。 –

回答

1

你海峽的多個聲明。

char str[] = " Hello good sirtttttt..!."; 
char * pointer_char; 
int pos = 0; 
std::string str; 

沒有必要使用char數組。將其更改爲:

//char str[] = " Hello good sirtttttt..!."; 
char * pointer_char; 
int pos = 0; 
std::string str = " Hello good sirtttttt..!." ; 
int length = str.size(); 
+0

謝謝!這解決了我的問題 – user3042929

4
char str[] = " Hello good sirtttttt..!."; 
... 
std::string str; 

你有兩個名稱相同的變量。命名一個不同的。