gpt4 book ai didi

c++ - 错误C2440 : '=' : cannot convert from 'std::list> *' to 'std::string*'

转载 作者:行者123 更新时间:2023-12-02 11:03:36 25 4
gpt4 key购买 nike

我目前正在通过在do-while循环中将字符串值输入到列表中,然后在for循环中将其从列表中打印出来,来学习如何在C++(通常是C++)中使用列表。错误:

error C2440: '=': cannot convert from 'std::list<std::string,std::allocator<_Ty>> *'
to 'std::string*'

该错误涉及以下特定行:
output = &container[k];

我不知道如何解决这个问题,或者我做错了什么。我也不了解我对列表的理解是否有问题,或者我使用的指针是否不正确。

如果可以用尽可能简单的措辞表达我的谢意,谢谢。

其余代码:
#include <iostream>
#include <string>
#include <list>
using namespace std;

void main()
{

int i = 0;
list<string> container[10];
string input, *output;

do{
cout << "enter a value for container location " << i << endl;
cin >> input;
container[i].push_back(input);
i++;
}while (i < 10);

for (int j = 0, k = 0; j < 10; j++)
{
output = &container[k];
cout << "Value of container location " << j << " = " << *output << endl;
k++;
}
}

最佳答案

根据您的代码,您明确地表示container的类型为vector<string>,而没有[10]或仅是string(同时保留了数组规范)。

关于c++ - 错误C2440 : '=' : cannot convert from 'std::list<std::string,std::allocator<_Ty>> *' to 'std::string*' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26960624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com