error C2512: “HelloWorld”: 没有合适的默认构造函数可用
2016-06-20 01:29
417 查看
error C2512: “HelloWorld”: 没有合适的默认构造函数可用
c++ newbie error C2512: no appropriate default constructor available
注:我使用VS2010时,遇到的问题。解决办法
在类中添加一个空的构造函数。问题解决
实例
错误程序
main.cpp#include <iostream> #include "helloworld.h" int main(void) { HelloWorld hello; hello.say(); while(1){} return 0; }
helloworld.h
#ifndef __HELLOWORLD_H_ #define __HELLOWORLD_H_ class HelloWorld{ public: HelloWorld(int a):a(a){} void say(){ std::cout << "Hello World!" << std::endl; } int a; }; #endif
编译失败:
1> main.cpp : error C2512: “HelloWorld”: 没有合适的默认构造函数可用 1> 1>生成失败。
修改后正确的程序
修改helloworld.h#ifndef __HELLOWORLD_H_ #define __HELLOWORLD_H_ class HelloWorld{ public: HelloWorld(int a):a(a){} HelloWorld(){} void say(){ std::cout << "Hello World!" << std::endl; } int a; }; #endif
编译成功:
1>生成成功。
参考网站:
1. http://stackoverflow.com/questions/24182687/c-newbie-error-c2512-no-appropriate-default-constructor-available
相关文章推荐
- 从汇编看c++中默认构造函数的使用分析
- Inside the c++ object model读书笔记之默认构造函数
- 默认构造函数
- Java学习笔记10 —— 类的构造函数
- 默认构造函数
- 关于构造函数的两三事
- 没有默认构造函数,如何定义对象数组
- 那些你不知道的默认构造函数~~
- 关于默认构造函数的一点总结
- C++ Primer 类 12.4 默认构造函数
- C++基础:缺省构造函数
- More Effective C++议题【四】:避免无用的缺省构造函数
- [深度探索C++对象模型] 默认构造函数和拷贝构造函数的构造操作
- 不存在的默认构造函数
- C++对象模型(一):The Semantics of Constructors The Default Constructor (默认构造函数什么时候会被创建出来)
- C++构造函数和析构函数的学习(一) 推荐
- 2.1 Default Constructor的建构操作
- C++知识点积累(2)
- 2.1 Default Constructor的构造操作
- 什么情况下C++编译器会生成默认的构造函数