以下のコードのコメントアウトした2か所( //失敗したもの
の箇所)が、コンパイル時にエラーになります。
なぜ、vectorを利用した時だけこのようなエラーになるのか教えてほしいです。
これらのオペランドと一致する演算子 "<<" はありません -- オペランドの型: std::ostream << __gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>
C++
1#include <stdio.h> 2#include <vector> 3#include <algorithm> 4#include <iostream> 5#include <string> 6using namespace std; 7 8int main(void) 9{ 10 std::vector<int> vec{1, 2, 3, 4, 5, 6}; 11 12 printf("要素:n"); 13 for (auto it = vec.begin(); it != vec.end(); ++it) 14 printf("%d,", *it); 15 printf("nn"); 16 17 //失敗したもの 18 //cout << vec.begin() << " " << vec.end() << endl; 19 //cout << vec << endl; 20 21 //試したこと1 22 printf("アドレスは%p\n", vec); 23 printf("アドレスは%p\n", vec.begin()); 24 25 //試したこと2 26 int num = 1; 27 cout << "num;" << &num << endl; 28 cout << "test" << endl; 29 30 31 auto it = std::find(vec.begin(), vec.end(), num); 32 33 if (it != vec.end()) 34 { 35 printf("%dは見つかりました。n", num); 36 } 37 else 38 { 39 printf("%dは見つかりませんでした。n", num); 40 } 41 return 0; 42} 43
※追記
以下に類似の質問がありました(読んでもちょっと難しかったですが、参考になるかもなので載せておきます)
https://teratail.com/questions/228763
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/06 02:39 編集
2020/07/06 03:04
2020/07/06 09:51
2020/07/06 10:11
2020/07/06 23:36