tyapapaさん
std::vector<char*>の要素に
const char*型を格納しているのと、
std::cout << vstr << std::endl;の部分で
vectorオブジェクトをそのまま
表示しようとしているのがエラーの原因です。
下記に修正したコード載せておきます。
c++
1#include <iostream>
2#include <vector>
3
4int main(){
5 const char* pstr = "abcdef"; // 配列
6 std::vector<const char*> vstr; // ベクター配列
7
8 for (int i=0; i<5; i++)vstr.push_back(pstr);
9 for(const auto& i:vstr)std::cout << i << std::endl;
10}
wandboxで実行
追記
std::vectorはstd::coutで直接内容を表示できないですが
下記のように自分で<<演算子のオーバーロードを作れば
std::cout << std::vectorのオブジェクト << std::endl;
で表示できるようになります。
c++
1#include <iostream>
2#include <vector>
3
4std::ostream& operator<<(std::ostream& os, const std::vector<const char*>& vec){
5 for(const auto& i:vec) os << i << std::endl;
6 return os;
7}
8
9int main(){
10 const char* pstr = "abcdef";// 配列
11 std::vector<const char*> vstr;// ベクター配列
12
13 for (int i=0; i<5; i++) vstr.push_back(pstr);// 5回vstrへ追加
14 std::cout << vstr << std::endl;// 表示
15}
wandboxで実行
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。