社区
C++ 语言
帖子详情
加了构造函数之后编译不正确
veloting
2008-09-18 03:12:47
如能发帖,代码见后
...全文
159
30
打赏
收藏
加了构造函数之后编译不正确
如能发帖,代码见后
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hxingz
2008-09-18
打赏
举报
回复
什么语法哦?
veloting
2008-09-18
打赏
举报
回复
还是不太明白为什么,学习的太少,先揭帖吧,以后再学习学习
veloting
2008-09-18
打赏
举报
回复
[Quote=引用 26 楼 blackmurder 的回复:]
引用 22 楼 veloting 的回复:
(A){3}; 是compound literal的形式,这是个C99的语法
看来我得收回24楼的话了。能否发个链接?
[/Quote]
你网上搜搜吧,应该有的!
blackmurder
2008-09-18
打赏
举报
回复
我好像搞明白为什么出错了。
你的这句A dd = (A){3}; 是先调用A的default constructor来初始化dd,然后把一个临时变量赋给dd
声明构造函数前系统会自动合成default constructor,但声明后不会,因此编译出错
你可以试试再加一个default constructor,应该就能编译过了
blackmurder
2008-09-18
打赏
举报
回复
[Quote=引用 22 楼 veloting 的回复:]
(A){3}; 是compound literal的形式,这是个C99的语法
[/Quote]
看来我得收回24楼的话了。能否发个链接?
symphia
2008-09-18
打赏
举报
回复
某种诡异的隐式类型转换?..
blackmurder
2008-09-18
打赏
举报
回复
[Quote=引用 20 楼 veloting 的回复:]
引用 15 楼 e_sharp 的回复:
引用 14 楼 veloting 的回复:
引用 11 楼 e_sharp 的回复:
A dd = (A){3}; //{} 这是什么东东?
这个也是我想问的,呵呵
我用vs2005编译,{}这个地方通不过
我用gcc编译的,去掉了构造函数就可以编过
我想2005支持标准比gcc要弱一点
[/Quote]
问题是你的写法根本就不是标准C++,和2005没关系
太乙
2008-09-18
打赏
举报
回复
[Quote=引用 22 楼 veloting 的回复:]
(A){3}; 是compound literal的形式,这是个C99的语法
[/Quote]
学习了~~
veloting
2008-09-18
打赏
举报
回复
(A){3}; 是compound literal的形式,这是个C99的语法
veloting
2008-09-18
打赏
举报
回复
[Quote=引用 18 楼 beyondlwm 的回复:]
A dd = (A){3}; ##############
it doesn't make sence
try
a* dd = new a(3);
[/Quote]
yes,it's just a test
but i want to know why
veloting
2008-09-18
打赏
举报
回复
[Quote=引用 15 楼 e_sharp 的回复:]
引用 14 楼 veloting 的回复:
引用 11 楼 e_sharp 的回复:
A dd = (A){3}; //{} 这是什么东东?
这个也是我想问的,呵呵
我用vs2005编译,{}这个地方通不过
[/Quote]
我用gcc编译的,去掉了构造函数就可以编过
我想2005支持标准比gcc要弱一点
beyondlwm
2008-09-18
打赏
举报
回复
any more ,I don't think it's c++ grammar
beyondlwm
2008-09-18
打赏
举报
回复
A dd = (A){3}; ##############
it doesn't make sence
try
a* dd = new a(3);
yujimanpao
2008-09-18
打赏
举报
回复
struct 是结构 不存在封装等级
blackcat242
2008-09-18
打赏
举报
回复
lz还是打好基础吧
e_sharp
2008-09-18
打赏
举报
回复
[Quote=引用 14 楼 veloting 的回复:]
引用 11 楼 e_sharp 的回复:
A dd = (A){3}; //{} 这是什么东东?
这个也是我想问的,呵呵
[/Quote]
我用vs2005编译,{}这个地方通不过
veloting
2008-09-18
打赏
举报
回复
[Quote=引用 11 楼 e_sharp 的回复:]
A dd = (A){3}; //{} 这是什么东东?
[/Quote]
这个也是我想问的,呵呵
veloting
2008-09-18
打赏
举报
回复
[Quote=引用 4 楼 e_sharp 的回复:]
恭喜lz发贴成功
[/Quote]
谢谢,刚才的不能发,说是找不到论坛编号,5语了,赫赫
veloting
2008-09-18
打赏
举报
回复
[Quote=引用 9 楼 hqin6 的回复:]
C/C++ code#include<iostream>usingnamespacestd;voidgg(char*){}structA
{public:
A(intii):i(ii){cout<<"hello"<<endl;}inti;
};voidmain(void)
{chara[10];//gg((char*){a});gg(a);
A dd(3);//A dd = (A){3};//##############cout<<dd.i<<endl;
}
[/Quote]
那为啥去掉构造函数就可以编过呢
我主要是问这个问题, A dd(3)这个我也知道是正确的
e_sharp
2008-09-18
打赏
举报
回复
A dd = (A){3}; //{} 这是什么东东?
加载更多回复(10)
C# 静态
构造函数
和
构造函数
静态
构造函数
是在
构造函数
方法前面添
加
了static关键字
之后
形成的,并且没有修饰符(public,private),没有参数。 静态
构造函数
有哪些特点呢: 静态
构造函数
没有修饰符修饰(public,private),因为静态
构造函数
不是我们...
C++中默认
构造函数
和
构造函数
初始化列表
(2)默认
构造函数
:默认
构造函数
是在调用时不需要显示地传入实参的
构造函数
。 一个类如果自己没有定义
构造函数
,则会有一个无参且函数体也是空的默认
构造函数
。只要程序员定义了
构造函数
,
编译
器就不会再提供默认...
C++ 默认
构造函数
的重要性
1、默认
构造函数
C++ 默认
构造函数
是对类中的参数提供...那么
编译
器就不会提供默认的
构造函数
,这种情况下,容易
编译
报错,所以
正确
的写法就是用户在定义
构造函数
的时候,也需要添
加
一个默认的
构造函数
,这样就不会造
构造函数
详解
构造函数
详解
构造函数
的概念:
构造函数
是一个特殊的成员函数,名字与类名相同,创建类类型对象时由
编译
器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。
构造函数
的特性 ...
⚡【C++要笑着学】(7) 默认成员函数:
构造函数
| 析构函数 | 拷贝
构造函数
我是柠檬叶子C,本章将继续讲解C++中的面向对象的知识点,本篇主要讲解默认成员函数中的
构造函数
、析构函数和拷贝
构造函数
。还是和以前一样,我们将由浅入深地去讲解,以 "初学者" 的角度去探索式地学习。会一步步地...
C++ 语言
64,642
社区成员
250,580
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章