/*★ Normal struct %data は使えない 前田 稔 ★*/ using namespace System; class DATA { public: int v1; int v2; int sum; }; //void func(DATA^ pData) void func(DATA* pData) { pData->sum = pData->v1+pData->v2; } int main() { DATA data; data.v1 = 10; data.v2 = 20; // func(%data); func(&data); Console::WriteLine("10 + 20 = {0} です",data.sum); System::Console::ReadLine(); return 0; } |
/*★ ref struct 前田 稔 ★*/ using namespace System; ref class DATA { public: int v1; int v2; int sum; }; void func(DATA^ pData) { pData->sum = pData->v1+pData->v2; } int main() { DATA data; data.v1 = 10; data.v2 = 20; func(%data); Console::WriteLine("10 + 20 = {0} です",data.sum); System::Console::ReadLine(); return 0; } |
/*★ value struct sum は設定されない 前田 稔 ★*/ using namespace System; value class DATA { public: int v1; int v2; int sum; }; void func(DATA^ pData) { pData->sum = pData->v1+pData->v2; } int main() { DATA data; data.v1 = 10; data.v2 = 20; func(%data); Console::WriteLine("10 + 20 = {0} です",data.sum); System::Console::ReadLine(); return 0; } |