如果这是一个容易解决的问题,请原谅我,我是 C++ 的新手。
我有一个类和一个主要方法:
class Test
{
public:
static std::list<std::string> list1[];
};
std::list<std::string> Test::list1[] = { "apple", "orange", "pear" };
int main()
{
std::list<std::string> list2[] = { "banana", "mango", "pineapple" };
Test::list1.merge(list2);
std::cout << list1 << endl;
return 0;
}
我想将 list1 和 list2 添加在一起,以便它们输出“apple”、“orange”、“pear”、“banana”、“mango”、“pineapple”。但是,当我尝试上述方法时,出现如下错误:
没有合适的构造函数可以将“const char [24]”转换为“std::list>”
谢谢你的帮助。
#include <iostream>
#include <list>
#include <string>
class Test
{
public:
static std::list<std::string> list1;
};
std::list<std::string> Test::list1 = { "apple", "orange", "pear" };
int main()
{
std::list<std::string> list2 = { "banana", "mango", "pineapple" };
Test::list1.merge(list2);
for(const auto& itr : Test::list1)
std::cout << itr << std::endl;
return 0;
}
列表不使用 operator []
。如果你想显示列表,你必须使用它,就像上面一样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句