我试图运行一个动态数组,它采用字符串,但是当我把它通过一个功能我得到的编译错误'dynamicArray': undeclared identifier
,'string':undeclared identifier
和illegal use of type 'void'
。由于种种原因,所有这些错误都指向标题。
我在这里调用指针:
string* dynamicArray = NULL;
我在这里调用该函数:
populateArray(dynamicArray);
标头中的内容:
void populateArray(string *&dynamicArray);
功能:
void populateArray(string *&dynamicArray)
{
char decide;
bool moreStrings = true;
int counter = 0;
while (moreStrings == true)
{
counter ++;
dynamicArray = new string[counter];
cout << "\nEnter your string here:";
cin >> dynamicArray[counter - 1];
cout << "\nDo you want to enter another string? Y/N:";
cin >> decide;
decide = toupper(decide);
if (decide == 'N')
{
moreStrings = false;
}
}
}
PS:矢量可能更好,但恐怕不是一种选择。请仅提供涉及指针的修复程序。
随着#include <string>
和using namespace std;
补充,它编译就好了我。
#include <string>
#include <iostream>
using namespace std;
void populateArray(string *&dynamicArray);
int main(){
string* dynamicArray = NULL;
populateArray(dynamicArray);
return 0;
}
void populateArray(string *&dynamicArray)
{
char decide;
bool moreStrings = true;
int counter = 0;
while (moreStrings == true)
{
counter ++;
dynamicArray = new string[counter];
cout << "\nEnter your string here:";
cin >> dynamicArray[counter - 1];
cout << "\nDo you want to enter another string? Y/N:";
cin >> decide;
decide = toupper(decide);
if (decide == 'N')
{
moreStrings = false;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句