0

サードパーティ ツール API を使用する C++/CLI アプリケーションを作成しています。API の 1 つは、ヘルプ ドキュメントで次のように宣言されています。

 Error GetDrawingComponents(Drawing oDrawing,DrawingComponentVisit compVisit,DrawingComponentFilter compFilter)

Error (*DrawingComponentVisit) (DrwSolid solid,Error status) 

Error (*DrawingComponentFilter) (DrwSolid solid,Error status,Filter filStatus)

今、私は.CPPのアプリケーションでこのAPIを使用しました。以下のように使用しました-

  Error chkError =  GetDrawingComponents(Drawing oDrawing,(DrawingComponentVisit)oClsObj::VisitDrawingComponents,(DrawingComponentFilter)oClsObj::FilterDrawingComponents);

CPP ファイルには、VisitDrawingComponents と FilterDrawingComponents の定義も含まれています。それらは次のように.hファイルで宣言されています-

Error VisitDrawingComponents(DrwSolid solid,Error status); 
Error FilterDrawingComponents(DrwSolid solid,Error status,Filter filStatus);

したがって、上記の方法で使用すると、型キャストエラーが発生します

Error   1   error C2440: 'type cast' : cannot convert from 'overloaded-function' to 'DrawingComponentVisit'

アンマネージ C++ アプリケーションがある場合、この API を同じ方法で使用できます。C++/CLI アプリケーションでこれを機能させるには、どのような変更を行う必要があるか教えてください。

4

0 に答える 0