gpt4 book ai didi

c++ - 多个#include 文件的类重新定义错误? (C++)

转载 作者:行者123 更新时间:2023-11-28 00:17:17 25 4
gpt4 key购买 nike

基本上是这样的:

Car 和 Truck 都派生自 Vehicle 类。

汽车.h

#include "Vehicle.h"
class Car : public Vehicle {
//blah blah blah

卡车.h

 #include "Vehicle.h"
class Truck : public Vehicle {
//blah blah blah

main.cpp

#include "Car.h"
#include "Truck.h"

我的问题是,当我在那里有#include 行时,我在 Truck 上遇到类重新定义错误(由于它第二次调用 Vehicle),但是当我删除它时,我在 { token 之前有“预期的类名” ".

我明白了主要 -> 汽车 -> 车辆Main -> Truck -> Vehicle(重新定义)

会导致错误。

但是,如果我从 Truck 中删除#include "Vehicle.h",它还会导致另一个错误,它需要一个类名。

最佳答案

正如@ErikW 所指出的,您需要使用 include 守卫。参见 herehere .

例子

Foo.h

#ifndef FOO_H // This needs to be unique in each header
#define FOO_H

... code goes in here ...

#endif

关于c++ - 多个#include 文件的类重新定义错误? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29464938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com