请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

c++string赋值问题

#include<iostream>

#include<string>

using namespace std;


struct Student

{

string name;

int score;

};


main()

{

Student d[4]={ {"A",80},{"C",80},{"B",50},{"D",45} };

简化了一下老师的代码,但是发现用string类型定义名称总是报错: error C2440: 'initializing' : cannot convert from 'char [2]' to 'struct Student'

string 改成 char 就可以了,为什么

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2018-05-15 22:39:34

你使用的IDE应该是VS:)


这个课程的C++代码都是基于C++11标准的。但是微软的VS中C++编译器的一些语法实现是不符合C++国际标准的,而是使用微软自己的标准(并且不同版本的VS,标准也会略有不同)。这使得对于一些语法,课程中的C++代码在VS下编译会出现问题。如果使用VS,对于这些语法部分,需要相应进行修改为VS支持的语法标准:)

0 回复 有任何疑惑可以回复我~
  • 提问者 SD_Kaden #1
    老师 我用的是 VC6.0, 所以差不多也是这个原因吗,还有老师你的IDE是?
    回复 有任何疑惑可以回复我~ 2018-05-16 15:20:49
  • liuyubobobo 回复 提问者 SD_Kaden #2
    VC6实在太古老了,完全不建议使用。请参考:https://coding.imooc.com/learn/questiondetail/49015.html 在课程中,我的IDE是CLion,编译器是XCode自带的C++编译器。由于CLion是收费IDE,在这里不做推荐。在Windows平台可以考虑使用Visual Studio,或者VSCode:)
    回复 有任何疑惑可以回复我~ 2018-05-16 22:32:44
  • 提问者 SD_Kaden 回复 liuyubobobo #3
    好的 谢谢老师
    回复 有任何疑惑可以回复我~ 2018-05-16 23:14:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信