本文主要是介绍c2440 “初始化”:无法从“const char”转化为“_Object”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原理目前还没有搞懂,但是摸索出了解决方法。
先放上我的问题代码:
#include<iostream>
#include<vector>
#include<list>using namespace std;int main() {list<char*> lst{ "hello", "world" };vector<string> v(lst.cbegin(), lst.cend());for (auto& s : v)cout << "s: " << s << endl;return 0;
}
运行就出错,提示:
c2440 “初始化”:无法从“const char”转化为“_Object”
显式出错的一行在:
list<char*> lst{ "hello", "world" };
这很明显是初始化出问题了。
当我修改如下形式,没有报错了:
#include<iostream>
#include<vector>
#include<list>using namespace std;int main() {char c[] = "hello", c2[] = "world";list<char*> lst{ c, c2 };vector<string> v(lst.cbegin(), lst.cend());for (auto& s : v)cout << "s: " << s << endl;return 0;
}
运行结果:
这篇关于c2440 “初始化”:无法从“const char”转化为“_Object”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!