アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のようなSystem.String.Splitメソッドを使ったプログラムでエラーが出たのですが、解決方法がわかりません。
2番目の引数なしでも実行はできるのですが、分割した文字列が空の場合は省きたいので2番目の引数は省略したくありません。
なにか気づく方がいましたら、お教えください。

Visual C++ 2010を使っています。
他に環境についてなど補足が必要なことがありましたら言ってください。

using namespace System;

int main(){
String^ s = "単語1 単語2 単語3 ";
array<String^>^ result = s->Split(' ', StringSplitOptions::RemoveEmptyEntries);
}

error C2664: 'cli::array<Type> ^System::String::Split(...cli::array<wchar_t,dimension> ^)' : 2 番目の引数を 'System::StringSplitOptions' から 'wchar_t' に変換できません。(新しい機能 ; ヘルプを参照)

A 回答 (2件)

……?


1番目の引数指定を間違えているようですが……

MSDNのSplitメソッドのページには1番目の引数としてchar[]かString[]しか指定するパターンしか書かれていません(参考URL)。

int main(){
String^ s = "単語1 単語2 単語3 ";
array<Char>^ sep = gcnew array<Char>{' '};
array<String^>^ result = s->Split(sep, StringSplitOptions::RemoveEmptyEntries);
}

としたらどうでしょうか。

参考URL:http://msdn.microsoft.com/ja-jp/library/system.s …
    • good
    • 0
この回答へのお礼

http://imagingsolution.blog107.fc2.com/blog-entr …
調べていた所↑のような解説を見つけたので、簡単だし良いのかと納得して使っていました。

ご指摘の通り直したところエラーなく動作しました。
ありがとうございました。

お礼日時:2011/12/04 18:09

> ' ', StringSplitOptions::RemoveEmptyEntries


これを array<wchar_t>と解釈しようとしているように見えます。
http://msdn.microsoft.com/ja-jp/library/ms131448 …
にある例文のようにやってみてはどうでしょう。
    • good
    • 0
この回答へのお礼

1番目の引数をきちんと変数にしたところ、エラーなく動作しました。
ありがとうございました。

お礼日時:2011/12/04 18:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!