回答編集履歴

1

コードの漏れを追記

2019/05/24 03:43

投稿

moredeep
moredeep

スコア1507

test CHANGED
@@ -44,17 +44,55 @@
44
44
 
45
45
  ``` C++
46
46
 
47
+ namespace DataManage
48
+
49
+ {
50
+
51
+ ref struct ST_DATATYPE_REF { // 新しく追加する
52
+
53
+ public:
54
+
55
+ ST_DATATYPE_REF(E_DATATYPE dataType, CString str)
56
+
57
+ {
58
+
59
+ // 変換処理は割愛
60
+
61
+ }
62
+
63
+
64
+
65
+ // マーシャリング代わり
66
+
67
+ static ST_DATATYPE_REF^ CreateInstance(const ST_DATATYPE& src)
68
+
69
+ {
70
+
71
+ return gcnew ST_DATATYPE_REF(src.eDataType, src.sDataName);
72
+
73
+ }
74
+
75
+ E_DATATYPE eDataType;
76
+
77
+ System::String^ sDataName;
78
+
79
+ };
80
+
81
+
82
+
83
+ }
84
+
47
85
  ref class C_DATATYPE_LIST_WRAPPER
48
86
 
49
87
  {
50
88
 
51
89
  public:
52
90
 
53
- static DataManage::ST_DATATYPE^ Get(int i)
91
+ static DataManage::ST_DATATYPE_REF^ Get(int i)
54
92
 
55
93
  {
56
94
 
57
- return DataManage::ST_DATATYPE::CreateInstance(C_DATATYPE_LIST[i]);
95
+ return DataManage::ST_DATATYPE_REF::CreateInstance(C_DATATYPE_LIST[i]);
58
96
 
59
97
  }
60
98