为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我实例化不成功,而且s_iCount没有加一

Tank.h

#ifndef TANK_H
#define TANK_H
#include <iostream>
using namespace std;
class Tank
{
public:
	
	Tank(char code);
	~Tank();
	void fire();
	static int getCount();
private:
	char m_cCode;
	static int s_iCount;
};
#endif
Tank.cpp

#include "Tank.h"
int Tank::s_iCount = 0;
Tank::Tank(char code)
{
	m_cCode=code;
	s_iCount++;
	cout << "Tank(code)" << endl;
}
Tank::~Tank()
{
	s_iCount--;
	cout << "~Tank()" << endl;
}
void Tank::fire()
{
	cout << "Tank::fire()" << endl;
}
int Tank::getCount()
{
	return s_iCount;
}


demo.cpp

#include "Tank.h"
int main()
{
Tank tank1("A");
cout << Tank::getCount() << endl;
}


错误提示1:

错误 C2664 “Tank::Tank(const Tank &)”: 无法将参数 1 从“const char [2]”转换为“char”


错误提示2:

错误(活动) 没有与参数列表匹配的构造函数 "Tank::Tank" 实例 2.12静态 d:\others\Visual Studio 2015\C++\2.12静态\2.12静态\源.cpp 5



正在回答

2 回答

看你定义的类型了,如果是字符变量肯定就用单引号,如果是字符数组或字符串就要用双引号了,即使字符串只有一个字母

0 回复 有任何疑惑可以回复我~
#1

宝慕林3490596 提问者

非常感谢!
2017-03-13 回复 有任何疑惑可以回复我~

不好意思,应该写成单引号的,例如Tank tank1('A');

不过还是没想明白什么时候用双引号,什么时候用单引号

0 回复 有任何疑惑可以回复我~
#1

面具VS口罩

看定义的数据类型是字符还是字符串
2017-04-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

为什么我实例化不成功,而且s_iCount没有加一

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信