gpt4 book ai didi

c++ - 使用私有(private)构造函数的程序出错

转载 作者:行者123 更新时间:2023-11-30 01:57:22 25 4
gpt4 key购买 nike

即使我从未调用过函数“Bike::Bike(Bike *)”,是什么导致了错误?

错误:找不到“Bike::Bike(Bike *)”的匹配项


#include<iostream.h>
#include<conio.h>

class Bike
{
Bike()
{
cout<<"\nIn Bike const.";
}

public: static Bike * getBike();
};

Bike * Bike :: getBike()
{
cout<<"\nIn getBike";
return new Bike();
}

void main()
{
Bike b = Bike::getBike();
}

最佳答案

您正在尝试将 Bike* 转换为非标量类型 Bike

但是 getBike() 返回一个指向 Bike 的指针

所以

Bike *b = Bike::getBike();
^ use pointer

看起来您使用的是十年前的编译器,可能是 Turbo C++

void main 不是合法的 C++ 使用 int main

此外,确保删除所有由 new 分配的内存

关于c++ - 使用私有(private)构造函数的程序出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18809354/

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