秘密基地、どこに作った?

CStringにおいてFindではエラーが出ないのに、ReverseFindだとエラーがでます。

error C2664: 'ReverseFind' : 1 番目の引数を 'char [4]' から 'char' に変換できません。 (新しい機能 ; ヘルプを参照)
この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。

キャストするとエラーは出ませんが文字列の検索は失敗してしまいます。
Findはまったく問題無いのにどうしてこのようなことが起きるのでしょう?

どう対処すれば良いか教えてください。

CString ddd;


nn=ddd.Find("DOW");     ←エラーなし
nn=ddd.ReverseFind("DOW"); ←エラーあり


環境はWIN98 VC++6.0 MFCです。

A 回答 (1件)

CString::ReverseFind()は文字列の検索ではなく文字を検索するメソッドです。



afx.hで以下のように定義されています。

CString::ReverseFind
int ReverseFind( TCHAR ch ) const;
    • good
    • 1
この回答へのお礼

えぇ~~ そうだったのですか。
それなら当然ですよね。

たまたま本に2つの関数が紹介されており、Findの使い方しか例がなかったことと、ネットで確認したサイトに文字列も検索できると明確に書かれていたので疑いもしませんでした。

回答ありがとうございました。

お礼日時:2004/01/11 07:16

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報