これはStackOverFLowの最初の投稿です!管理されていないヒープから管理されたヒープのデータを取得する
私はC++/CLIを理解しようとしていますが、2つのプロパティgetLx
とsetLx
で管理されていない構造体があり、doubleへのポインタを取得し、それぞれdoubleへのポインタを受け取ります。 したがって、アンマネージドメソッドでsetLx
の値を設定し、管理スコープのgetLx
から値を取得しようとしています。管理されていないヒープに割り当てられたデータを管理されたヒープに変換または取得したい
だから基本的には例のコードの下、私はdouble^
参照型ネイティブdouble*
からネイティブポインタの参照型
/*Unmanaged Struct*/
struct Grid2D
{
double* getLx() const {
return _Lx;
}
void setLx(double* val) {
_Lx = val;
}
private:
double* _Lx;
public:
int _count;
};
#pragma unmanaged
void UnmanagedFillGrid(Grid2D& d)
{
printf_s("\nunmanaged");
double* item = new double[d._count];
int i = 0;
while (i++ < d._count) {
int r = (rand() % 100) + 1;
item[i] = r;
printf_s("array[%d] = %f\n", i, item[i]);
}
d.setLx(item);
}
#pragma managed
int main(array<System::String ^> ^args)
{
Grid2D d;
d._count = 10;
UnmanagedFillGrid(d);
Console::WriteLine("[managed] count = {0}", d._count);
//getLx returns pointer to double, I need to get in double^
//Is this possible ?
double^ managedLx = d.getLx();//How to convert ??
return 0;
}
あなたが実際にやろうとしていることは明らかではありません。 [mcve]に必要なもの以外のすべてのコードを削除してください。 –