码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 默认构造函数

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

标签:har   出错   blog   str   style   book   struct   const   定义   

一个 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++ 默认构造函数

标签:har   出错   blog   str   style   book   struct   const   定义   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!