鱼C论坛

 找回密码
 立即注册
查看: 2981|回复: 4

C++类初始化问题

[复制链接]
发表于 2012-5-8 17:05:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下面这段代码在C-Free中能正确运行,但是在VC6里就有一个错误!
#include <string>
#include <iostream>
using namespace std;
class Fruit               //定义一个类,名字叫Fruit
{
public:                //标号,表示这个类成员可以在外部访问
        string name;           
};
int main()
{
        Fruit apple = {"apple"};  //定义一个Fruit类对象apple
        cout<< apple.name<<endl;  //使用apple的成员name
        return 0;
}
在C-Free中正确输出了apple,在VC6里的错误提示是:error C2552: 'apple' : non-aggregates cannot be initialized with initializer list
这是为什么呢?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-8 19:14:53 | 显示全部楼层
因为VC6不符合标准
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-5-8 22:03:23 | 显示全部楼层
额!那就是我上面的代码是标准的!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-8 22:36:43 | 显示全部楼层
难道我眼花了。。 没有构造函数可以直接赋值?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-5-8 22:49:03 | 显示全部楼层
但是这个在C-FREE中可以正常运行,我也搞不明白到底为什么???
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 06:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表