C# から呼び出すことができるように、C++ コードのラッパーを作成するチュートリアルに従っています。
ただし、ラッパーのコンパイル中にエラーが発生します。Header.h
class MyClass{
public:
MyClass(int x, int y);
double GetSum();
private:
int x_;
int y_;
};
以下はソースファイル(body.cpp)です
#include "Header.h"
MyClass::MyClass(int x, int y)
{
x = 8;
y = 8;
}
double MyClass::GetSum()
{
int r = x_ + y_;
return r;
}
ラッパー クラス/dll は次のとおりです。
#include "C:\Users\tumelo\Documents\Visual Studio 2012\Projects\Emgu\MyClassCpp\MyClassCpp\Header.h"
#include "C:\Users\tumelo\Documents\Visual Studio 2012\Projects\Emgu\MyClassCpp\MyClassCpp\Body.cpp"
//for the function you want made avaible from the dll
extern "C" __declspec(dllexport) double GetResults(int x, int y)
{
//create an instance of the class
MyClass myClass(int x, int y);
return myClass.GetSum();
}
return ステートメントでラッパー クラスを取得します。クラスメソッドがなぜか認識されていないようです。エラーは次のとおりです。
エラー C2228: '.GetSum' の左側にはクラス/構造体/共用体が必要です
私を困惑させているのは、これがチュートリアルからコピーして貼り付けていることですが、私のものは機能しません。何が欠けている可能性がありますか?