首页 > 编程语言 > 详细

C++ 默认构造函数

时间:2017-03-08 13:31:33      阅读:189      评论:0      收藏:0      [点我收藏+]

一个 Struct 的定义

1 struct book
2 {
3     book(){}
4     book(string s){ name = s; }
5     string name;
6 }

如果调用 

1 book newbook;
2 book newbook("harry potter");

都没有错,但是调用

1 book newbook();

就会出错,一种理解就是编译器会认为这是一个函数的声明,但是改成

1 typename book newbook();

也不行,g++报的 error 根据搜索说明这里就不应该加上 typename。

至此我也不知道为什么这样不行,可能只是一种规定而已。

一些参考:

http://stackoverflow.com/questions/2417065/does-the-default-constructor-initialize-built-in-types

 

C++ 默认构造函数

原文:http://www.cnblogs.com/daghlny/p/6518745.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!