C++ 类构造函数重载不工作

C++ 类构造函数重载不工作,c++,visual-studio-2010,C++,Visual Studio 2010,但这也不起作用 我已经为此工作了三天了。非常感谢您的帮助。 多谢各位 编辑:以下建议(猜测警告) 根据您在评论中的所有描述,这看起来像是您的计算机上有另一个car.h文件。编译器正在找到那个 因为您在Windows中,所以它也可能是Car.h或Car.h等 编辑 没有明确的决议,“我将称之为已解决。感谢您的所有帮助。-ngong0” 投票结束。如果这是您的选择 Car() 那么,给出两个论点是不会成功的 您需要创建一个接受两个参数的构造函数 班车{ 公众: Car(int HP,float sp

但这也不起作用

我已经为此工作了三天了。非常感谢您的帮助。 多谢各位

编辑:以下建议

(猜测警告)

根据您在评论中的所有描述,这看起来像是您的计算机上有另一个car.h文件。编译器正在找到那个

因为您在Windows中,所以它也可能是Car.h或Car.h等

编辑

没有明确的决议,“我将称之为已解决。感谢您的所有帮助。-ngong0”

投票结束。

如果这是您的选择

Car()

那么,给出两个论点是不会成功的

您需要创建一个接受两个参数的构造函数

班车{ 公众:
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);