虽然我从来没有调用函数‘自行车::自行车(自行车*)’是什么导致了错误?
错误:无法找到“自行车::自行车(自行车*)”的匹配
#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();
}发布于 2013-09-15 06:00:01
您正在尝试将Bike*转换为非标量类型的Bike。
但是getBike()返回指向Bike的指针
所以
Bike *b = Bike::getBike();
^ use pointer看起来你使用的是一些十年前的编译器可能是涡轮C++
void main是不合法的C++使用int main
另外,请确保删除new分配的所有内存。
https://stackoverflow.com/questions/18809354
复制相似问题