Проблема заключается в передаче __gc структуры S в качестве параметра функции Func.
Структуру S делать глобальной нельзя, она должна быть членом __gc класса TClass.
Как сконвертить __gc структуру to __nogc.
Помогите плз, я уже 2 дня заморачиваюсь и никак

.
Ниже приведен код на С++:
#include "stdafx.h"
#using <mscorlib.dll>
using namespace System;
struct TStruct {
int a;
double d;
};
int Func(TStruct &S) {
S.a = 2;
S.d = 0.2;
return 0;
};
public __gc class TClass {
public:
TStruct S;
int ClassFunc(void) {
Func(S); //error because S is manage, but Func param is unmanage
return 0;
}
};
int _tmain()
{
TClass *C = new TClass;
C->ClassFunc();
Console::WriteLine(C->S.a);
Console::WriteLine(C->S.d);
Console::ReadLine();
return 0;
}
05.07.06 12:30: Перенесено модератором из '.NET' — AndrewVK