前提
C++を思い出すために勉強しております。
実現したいこと
Stringの一文字目がAだったらの処理を思い出したい
発生している問題・エラーメッセージ
class cCust2 { public: string sOrder[20]; }; int main__() { cCust2 customer[100]; strcpy((char*)customer[0].sOrder, "ABC"); // customer[0].sOrder[0] = "ABC"; if (customer[0].sOrder[0].compare('A')) { cout << "OK" << endl; } }
と実装したが
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー (アクティブ) E0304 オーバーロードされた関数 "std::basic_string<_Elem, _Traits, _Alloc>::compare [代入_Elem=char, _Traits=std::char_traits<char>, _Alloc=std::allocator<char>]" のインスタンスが引数リストと一致しません ConsoleApplication2
上記 関数の使用方法が違うのか
関数が違うのかお伺いしてよろしいでしょうか?
初心者の質問大変申し訳無いのですが上記お問い合わせいたします。
> Stringの一文字目がAだったらの処理を思い出したい
リファレンスやそれに付随するサンプルコードを確認されないのでしょうか。思い出そうとするたびに引っ掛かって質問するのでは効率が悪すぎませんか。
dodox86様
仰る通りなので
調査方法をお伺いしたいのです……
言葉足らずで申し訳ないです……
例えば今回の例では
string 文字列 比較 サンプルコード
でグーグル先生に問い合わせてみてもなんか良い結果がヒットしなかったのです……
「なんとググれば良いでしょうか?」と書こうかと思ったのですが
私が余りにも勉強不足なためうまく引っ張れないかと恐れているのです……
もう少しバンバン検索して探してみます……
以上ご連絡いたします。
> 調査方法をお伺いしたいのです……
とありますが、質問の文中には「関数の使用方法が違うのか関数が違うのかお伺いしてよろしいでしょうか?」とあり、調査方法についての質問とは読み取れません。先のいくつかのご質問でもいくつか指摘があったと思いますが、なんとなくバンバンと検索しても不要な記事がひっかかるだけです。
ぐぐるんじゃなくて、リファレンスを見るべきです。C++の書籍なら std::string のメソッド一覧ぐらい載っているのではないですか。最近では cpprefjp がかなり有用です。
https://cpprefjp.github.io/reference/string/basic_string.html
この質問の場合、コンパイルエラーが出ているのですから、「operator[] の返り値の型はなんだっけ」とリファレンスを確認するのが妥当でしょう。
https://cpprefjp.github.io/reference/string/basic_string/op_at.html
int32_t様
ありがとうございます。
そちらのリファレンスを拝見させて頂きます。
ググるのでは無いのですね……
助かりました。
ありがとうございます。
「思い出したい」のであって「正答を知りたい」ではないのですね。
しかし、やりとりを見ていると「かつては理解していた」ようにも思えないのですが、どうでしょう。
thkana様
もう10年以上前なのでもうほとんど記憶が曖昧なのです……
コメントありがとうございました。

回答3件
あなたの回答
tips
プレビュー