1

関数 '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();
}
4

1 に答える 1

4

Bike*から非スカラー型に変換しようとしていますBike

しかしgetBike()、へのポインタを返しますBike

そう

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

数十年前のコンパイラを使用しているように見えますが、Turbo C++ である可能性があります

void main合法的な C++ の使用ではありませんint main

また、によって割り当てられたすべてのメモリを削除してください。new

于 2013-09-15T06:00:01.403 に答える