在函数中使用字符串的动态数组问题

用户名

我试图运行一个动态数组,它采用字符串,但是当我把它通过一个功能我得到的编译错误'dynamicArray': undeclared identifier'string':undeclared identifierillegal 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章