我有一個分配創建要求用戶輸入一個句子一個簡單的字符串閱讀器,並固定如下:C++字符串作爲函數數組,不斷收到錯誤訊息
首先,使用功能原型
int splitSent(string sentence, string words[], int maxWords);
函數返回句子中單詞的數量,'maxWords'如果用戶的輸入以小寫字母開頭,則將其加以限制。
如果用戶輸入包含字符串,「計算機科學」,切換字符串「CS」
對於第一個任務,我被迫不使用動態數組,向量和任何'char'變量。另外,我必須保留給定的原型。
我完全可以在主函數中使用一個for循環來計算出有多少單詞,但是由於我從未在函數調用中使用過字符串作爲數組,不使用任何字符變量,矢量等。
在我寫的代碼中,在主函數中,我必須在函數調用之前計算主函數中的所有值才能使其工作嗎?現在,它提供了一個錯誤信息,說
In function 'int main()':
[Error] expected primary-expression before ']' token
At global scope:
[Error] declaration of 'words' as array of references
[Error] expected ')' before ',' token
[Error] expected unqualified-id before 'int'
我被困在這裏多小時,沒有什麼更多的,我可以從谷歌上搜索了獲得。請指教。
#include <iostream>
#include <string>
using namespace std;
int splitSent(string sentence, string words[], int maxWords);
int main()
{
string sentence, words;
int maxWords;
cout << "Enter a sentence. (Maximum words allowed - 100)" << endl;
getline(cin, sentence);
splitSent(sentence, words[], maxWords);
return 0;
}
int splitSent(string sentence, string& words[], int& maxWords)
{
int temp = 0, count = 1;
for (int j = 0; j < sentence.length(); j++)
if (sentence[i] == ' ')
count++;
words[count];
maxWords == count;
for (int i = 0; i < sentence.length(); i++) {
if (sentence[i] == ' ')
temp++;
else if (sentence[i] != ' ')
words[temp] += sentence[i];
}
return (count);
}
谷歌並不是教學書的替代品。使用代碼**這個**錯誤,您迫切需要[The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/1889329)中的幾本書。 – IInspectable
任何實際幫助...? – Minjae
編譯器錯誤消息沒有幫助嗎? – IInspectable