0

私はこのような機能を持っています:

int find_string ( string *url){
   if(*url.find() != string::npos){
        [...]
   }
   [...]
}

そして、次のように呼び出します。

find_string(&url);

しかし、次のコンパイルエラーが発生しました。

request for member ‘find’ in ‘url’, which is of non-class type ‘std::string*’

なぜこれが起こるのか、そして最も重要なことは、どうすればこれを修正できるのでしょうか? (ポインタがないときは動いていました)

4

2 に答える 2

3

(*url).find()または、より良い使用url->find()

*url.findfind()関数を呼び出してから使用しようとしますoperator *

于 2012-08-12T17:01:33.603 に答える
3

*url.find()*(url.find())は、実際に必要なものが である場合と同等です(*url).find()。さらに良いことに、url->find()代わりに使用する必要があります。

これは、逆参照 ( *) 演算子が要素選択 ( ) 演算子よりも優先順位.が低いためです。

于 2012-08-12T17:02:46.660 に答える