#include <iostream>
class Car{
public:
Car(float newSpeed = 0, double newHP = 100);
protected:
double HP;
private:
float speed;
};
Car::Car(float newSpeed, double newHP)
{
speed = newSpeed;
HP = newHP;
}
#include <vector>
using namespace std;
int main(){
Car car(10, 100);
return(0);
}
上面的代码没有编译错误说:“1&gt; c:\ users \ aaron \ documents \ visual studio 2010 \ projects \ ass3 \ ass3 \ main.cpp(9):错误C2661:'Car :: Car':没有重载函数需要2个参数“
我不确定为什么。我首先尝试使用Car构造函数的默认参数
Car::Car(float newSpeed = 0, double newHP = 100);
但这也不起作用。
我已经为此工作了3天了。任何帮助深表感谢。 谢谢。
编辑:以下建议
答案 0 :(得分:1)
(狂野猜测警告)
根据评论中的所有说明,这看起来像是您计算机上某处有另一个car.h文件的情况。编译器正在找到一个。
由于你在Windows中,它也可能是Car.h或CAR.H等。
修改强>
由于没有明确的解决方案,“我打算称之为解决。感谢您的帮助。 - ngong0”。
投票结束。
答案 1 :(得分:1)
如果这是你的ctor
汽车();
然后你不会成功给出两个参数
你需要创建一个带有两个参数的构造函数
class Car { 上市: Car(int HP,float speed);