質問編集履歴

3

文法の修正

2019/05/16 07:33

投稿

JanTh1989
JanTh1989

スコア87

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  ## 質問
56
56
 
57
- 前提に記載した方法では、TypeinitializationExceptionが発生してしまいます。
57
+ 前提に記載した方法では、Split関数処理部分でTypeinitializationExceptionが発生してしまいます。
58
58
 
59
59
  Split関数内の処理を分けてみた結果としては、const_cast関数で発生しているエラーのようです。
60
60
 

2

文面整理

2019/05/16 07:33

投稿

JanTh1989
JanTh1989

スコア87

test CHANGED
File without changes
test CHANGED
@@ -60,10 +60,60 @@
60
60
 
61
61
  コンパイル時点では特にエラーは無いのですが、どこに誤りがあり、正常動作をしないのでしょうか?
62
62
 
63
- 以下はやってみました。
64
63
 
65
- ①定数をchar*型に変更
66
64
 
67
- ⇒警告C4800が発生
65
+ ## 試してみたこと
68
66
 
67
+ ①char*型変数に変更
68
+
69
+ ```C++
70
+
71
+ hファイル
72
+
73
+ namespace act{
74
+
75
+ ref class main{
76
+
77
+ void output();
78
+
79
+ };
80
+
81
+
82
+
83
+ ref class constant{
84
+
85
+ public:
86
+
87
+ static const char* SEPARATORCHAR_DOT = ".";
88
+
89
+ };
90
+
91
+ }
92
+
93
+
94
+
95
+ cppファイル
96
+
97
+ namespace act{
98
+
99
+ void main::output(){
100
+
101
+ System::String^ str = gcnew System::String^("XXX.YYY)";
102
+
103
+ cli::array<String^>^ = str->Split(System::Convert::ToChar(const_cast<char*>(constant::SEPARATORCHAR_DOT)));
104
+
105
+ }
106
+
107
+ }
108
+
109
+ ```
110
+
111
+ ⇒C4800の警告がでました。
112
+
69
- 'char*':ブール値を'true'または'false'に強制的に設定します
113
+ メッセージ:'char *': ブール値を 'true' または 'false' に強制的に設定します (警告の処理)
114
+
115
+
116
+
117
+ ## 開発環境
118
+
119
+ Visual Studio 2015 Professional

1

追記

2019/05/16 07:31

投稿

JanTh1989
JanTh1989

スコア87

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  System::String^ str = gcnew System::String^("XXX.YYY)";
44
44
 
45
- str->Split(System::Convert::ToChar(const_cast<Char^>(constant::SEPARATORCHAR_DOT)));
45
+ cli::array<String^>^ = str->Split(System::Convert::ToChar(const_cast<Char^>(constant::SEPARATORCHAR_DOT)));
46
46
 
47
47
  }
48
48