gpt4 book ai didi

c++ - 在 C++ 中访问嵌套类

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

我在参加在线测试时遇到了这个问题。任务是修改此程序以消除编译错误。

#include<iostream>
#include<iomanip>

class Vehicle
{
public:
static Car* createCar()
{
return new Car;
}

class Car
{
public:
string name;
};
private:
int seats;
};

void useVehicle()
{
Vehicle::Car *c = Vehicle::createCar();
c->name = "BMW";
}

int main(int argc, char *argv[])
{
useVehicle();
return 0;
}

编译错误如下:
错误:“Car”没有命名类型
错误:‘string’没有命名类型
在函数 void useVehicle() 中:
错误:“createCar”不是“Vehicle”的成员

我怎样做对?我尝试了一些方法,但无法解决这些错误。

最佳答案

error: ‘Car’ does not name a type

在点

static Car* createCar()

汽车还不知道。将 Car 类的定义移到函数之上

error: ‘string’ does not name a type In function ‘void useVehicle()’:

#include <string>

还使用std:: 来限定string

error: ‘createCar’ is not a member of ‘Vehicle’

一旦您解决了其他两个问题,此错误就会消失。编译器无法解析函数声明,因为它不知道它的返回类型是什么。

关于c++ - 在 C++ 中访问嵌套类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18252789/

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