1

このコードに相当するC++は何ですか

ImageEnView1.IEBitmap.VirtualBitmapProvider := TIESlippyMap.Create();

コンパイルエラーが発生します

[bcc32エラー]Unit1.cpp(12907):E2285「TIESlippyMap :: TIESlippyMap()」に一致するものが見つかりませんでした

私のコードで

ImageEnview1->IEBitmap->VirtualBitmapProvider = new TIESlippyMap();
4

1 に答える 1

9
ImageEnView1->IEBitmap->VirtualBitmapProvider = new TIESlippyMap();

更新:このコンストラクターを呼び出そうとしています:

constructor Create(provider:TIESlippyMapProvider = iesmpMapQuest; const cachePath:string = '');

発生しているコンパイラエラーは、C ++コンパイラが、パラメータを持たないコンストラクタ、または少なくともすべてにデフォルト値が割り当てられているパラメータを持つコンストラクタを見つけることができないことを意味します。使用しているC++Builderのバージョンによっては、それに含まれているDelphiコンパイラが、クラスのC++.hppファイルを生成するときにデフォルトのパラメータ値を出力しない可能性があります。古いDelphiコンパイラバージョンはそれを正しく行いませんでしたが、新しいバージョンは正しく行います。この場合、影響を受けるバージョンを使用しているように思われるため、これらのパラメーター値を明示的に入力する必要があります。

ImageEnView1->IEBitmap->VirtualBitmapProvider = new TIESlippyMap(iesmpMapQuest, "");

または、.hppファイルを編集して、デフォルト値を正しくインクルードします。

class TIESlippyMap : public ...
{
...
public:
    __fastcall TIESlippyMap(TIESlippyMapProvider provider = iesmpMapQuest, const String cachePath = "");
...
};
于 2013-03-13T22:28:09.563 に答える