C++ 类构造函数重载不工作
但这也不起作用 我已经为此工作了三天了。非常感谢您的帮助。 多谢各位 编辑:以下建议(猜测警告) 根据您在评论中的所有描述,这看起来像是您的计算机上有另一个car.h文件。编译器正在找到那个 因为您在Windows中,所以它也可能是Car.h或Car.h等 编辑 没有明确的决议,“我将称之为已解决。感谢您的所有帮助。-ngong0” 投票结束。如果这是您的选择 Car() 那么,给出两个论点是不会成功的 您需要创建一个接受两个参数的构造函数 班车{ 公众:C++ 类构造函数重载不工作,c++,visual-studio-2010,C++,Visual Studio 2010,但这也不起作用 我已经为此工作了三天了。非常感谢您的帮助。 多谢各位 编辑:以下建议(猜测警告) 根据您在评论中的所有描述,这看起来像是您的计算机上有另一个car.h文件。编译器正在找到那个 因为您在Windows中,所以它也可能是Car.h或Car.h等 编辑 没有明确的决议,“我将称之为已解决。感谢您的所有帮助。-ngong0” 投票结束。如果这是您的选择 Car() 那么,给出两个论点是不会成功的 您需要创建一个接受两个参数的构造函数 班车{ 公众: Car(int HP,float sp
Car(int HP,float speed);我从visual studio复制了它。我保证这是我的真实代码。您是否也收到了关于
void main()的警告
?运行此命令的任何程序都很可能需要返回值。不匹配的ifndef
没有错误?是的,是的,复制粘贴错误,但你破坏了我的信任,说这是真实的代码…你在car.h中缺少了#endif
。修复后,将main
的返回类型更改为Int
,并注释掉导入sports\u car.h
,它编译得很好。不,一点也不。我总是使用void main。这是整个程序。在windows中运行。是的,我猜测评论中使用了一个过时的版本。在这一点上似乎不太可能。为此,@OP,仔细检查include目录。是的,但#include加引号应该只在当前目录中查找。@ngong0,它也可以移动到当前目录中,但我认为它应该只在当前目录中找不到它之后才移动到这些目录中。如果头文件已过时,是否有方法更新它?我已尝试过清理和重建,将所有文件移动到不同文件夹中的不同项目中。@DrewDormann,很好的一点,不管怎样,单个文件可能比三个单独的文件要好。如果错误仍然存在于您发布的内容中,我会去掉这里的内容。有趣的是,在前面的代码中存在这个ctor。
#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);
}
Car::Car(float newSpeed = 0, double newHP = 100);