此腳本應輸出由用戶輸入到數組「store」中的數組值。我試圖將所有的char數組值存儲到字符串temp中。我收到第12行的錯誤:「[錯誤]從'char *'無效轉換爲'char'[-fpermissive]。」將不勝感激任何幫助!將數組作爲參數傳遞給函數
編輯:所以我修改了聲明,現在至少編譯了,但我在我的cmd上得到的答案全部混亂起來。這是爲什麼? cmd只能正確地關閉第一個字符串,但在空格之後,它會混亂起來。
#include <iostream>
#include <cstdlib>
using namespace std;
void coutArray(char[], int);
int main()
{
char store[50];
cout << "enter text: " << endl;
cin >> store;
coutArray(store, 50);
system("pause");
return 0;
}
void coutArray(char store[], int max)
{
string temp = "";
int i = 0;
while (i < max)
{
temp += store[i];
i++;
}
cout << temp << endl;
}
使用所有回答者輸入我終於得到了固定代碼:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
void coutArray(char[], int);
int main()
{
char store[50] = {0};
cout << "enter text: " << endl;
cin.getline(store, 50);
coutArray(store, 50);
system("pause");
return 0;
}
void coutArray(char store[], int max)
{
string temp = "";
int i = 0;
while (i < max && store[i]!=0)
{
temp += store[i];
i++;
}
cout << temp << endl;
}
謝謝大家。我學到了很多!!!
您的聲明只接受一個'char'後:'無效coutArray(焦炭, INT);'。首先解決它。 – juanchopanza
我將如何解決它? – user3088723