C++のbeginについて
Posted: 2018年3月07日(水) 21:54
初投稿です。至らない点があったらごめんなさい
[1] 質問文
[1.1] 自分が今行いたい事は何か
C++とbegin関数を利用することにより入力された文字の先頭がaだった時に「先頭の文字はaでした」と出力するプログラムを組みたい
[1.2] どのように取り組んだか(プログラムコードがある場合記載)
#include<iostream>
#include<string>
using namespace std;
int main() {
string A;
cin >> A;
auto n = begin(A);
if (n=="a")cout << "先頭の文字はaでした" << "\n";
}
[1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)
E0349 これらのオペランドと一致する演算子"=="はありません
C2678 二項演算子 '==': 型 'std::_String_iterator<std::_String_val<std::_Simple_types<_Ty>>>' の左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作; ヘルプを参照)
[1.4] 今何がわからないのか、知りたいのか
まず、このエラー文はどのようなことを意味するのか。次になぜif(n=="a")で==が使えないのか。また、代わりにどのようなプログラムを記述すればよいのか。
[2] 環境
[2.1] OS
windows10
[2.2] コンパイラ名
visual studio 2017
[3] その他
・どの程度C言語を理解しているか
今月始めたばかりで知識量は全然ありません・・・
・ライブラリを使っている場合は何を使っている
ライブラリは使っていないです
[1] 質問文
[1.1] 自分が今行いたい事は何か
C++とbegin関数を利用することにより入力された文字の先頭がaだった時に「先頭の文字はaでした」と出力するプログラムを組みたい
[1.2] どのように取り組んだか(プログラムコードがある場合記載)
#include<iostream>
#include<string>
using namespace std;
int main() {
string A;
cin >> A;
auto n = begin(A);
if (n=="a")cout << "先頭の文字はaでした" << "\n";
}
[1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)
E0349 これらのオペランドと一致する演算子"=="はありません
C2678 二項演算子 '==': 型 'std::_String_iterator<std::_String_val<std::_Simple_types<_Ty>>>' の左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作; ヘルプを参照)
[1.4] 今何がわからないのか、知りたいのか
まず、このエラー文はどのようなことを意味するのか。次になぜif(n=="a")で==が使えないのか。また、代わりにどのようなプログラムを記述すればよいのか。
[2] 環境
[2.1] OS
windows10
[2.2] コンパイラ名
visual studio 2017
[3] その他
・どの程度C言語を理解しているか
今月始めたばかりで知識量は全然ありません・・・
・ライブラリを使っている場合は何を使っている
ライブラリは使っていないです