2017-03-26 19 views
0

C++でクラスを学び始めましたが、私は単純なボードゲームを経験しました...しかし、私は解決できないこの狂った量のエラーを受けました。ベクトル<vector<int>を使用しようとしました

ここでこのような質問を投稿しない場合は、私に助言してください。

Board.h:

#include<vector> 
using namespace std; 

class Board{ 
    int largura; 
    int altura; 
public: 
    Board(int x,int y) : largura(x), altura(y) {} 
    vector<vector<int> > mat(); 
    void printa(); 
}; 

Board.cpp:

#include "Board.h" 
#include <vector> 
#include <iostream> 

using namespace std; 

vector<vector<int> > Board::mat() { 
    vector<vector<int> > v(altura, vector<int>(largura,1)); 
    return v; 
} 

void Board::printa() { 
    auto matriz = mat(); 
    vector<int> vec(largura,0); 
    for(;;) { 
     for (auto i:vec) { 
      for (auto j:vec) { 
       cout << matriz[i,j]; 
      } 
      cout << "\n"; 
     } 
    } 
} 

main.cppに:

#include<iostream> 
#include "Board.h" 
#include <vector> 

using namespace std; 

int main(){ 
    Board tela(5, 5); 
    tela.mat(); 
    tela.printa(); 
    return 0; 
} 

エラー:

[[email protected] untitled]$ g++ -std=c++17 main.cpp Board.cpp -o board 
Board.cpp: In member function ‘void Board::printa()’: 
Board.cpp:22:22: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) 
       cout << matriz[i,j]; 

In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:108:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(__ostream_type& (*__pf)(__ostream_type&)) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:108:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}’ 
/usr/include/c++/6.3.1/ostream:117:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] 
     operator<<(__ios_type& (*__pf)(__ios_type&)) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:117:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}’ 
/usr/include/c++/6.3.1/ostream:127:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(ios_base& (*__pf) (ios_base&)) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:127:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘std::ios_base& (*)(std::ios_base&)’ 
/usr/include/c++/6.3.1/ostream:166:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(long __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:166:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘long int’ 
/usr/include/c++/6.3.1/ostream:170:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(unsigned long __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:170:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘long unsigned int’ 
/usr/include/c++/6.3.1/ostream:174:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(bool __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:174:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘bool’ 
In file included from /usr/include/c++/6.3.1/ostream:638:0, 
       from /usr/include/c++/6.3.1/iostream:39, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/bits/ostream.tcc:91:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>] 
    basic_ostream<_CharT, _Traits>:: 
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
/usr/include/c++/6.3.1/bits/ostream.tcc:91:5: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘short int’ 
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:181:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(unsigned short __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:181:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘short unsigned int’ 
In file included from /usr/include/c++/6.3.1/ostream:638:0, 
       from /usr/include/c++/6.3.1/iostream:39, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/bits/ostream.tcc:105:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>] 
    basic_ostream<_CharT, _Traits>:: 
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
/usr/include/c++/6.3.1/bits/ostream.tcc:105:5: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘int’ 
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:192:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(unsigned int __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:192:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘unsigned int’ 
/usr/include/c++/6.3.1/ostream:201:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(long long __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:201:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘long long int’ 
/usr/include/c++/6.3.1/ostream:205:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(unsigned long long __n) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:205:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘long long unsigned int’ 
/usr/include/c++/6.3.1/ostream:220:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(double __f) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:220:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘double’ 
/usr/include/c++/6.3.1/ostream:224:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(float __f) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:224:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘float’ 
/usr/include/c++/6.3.1/ostream:232:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(long double __f) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:232:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘long double’ 
/usr/include/c++/6.3.1/ostream:245:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] 
     operator<<(const void* __p) 
     ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:245:7: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘const void*’ 
In file included from /usr/include/c++/6.3.1/ostream:638:0, 
       from /usr/include/c++/6.3.1/iostream:39, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/bits/ostream.tcc:119:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] 
    basic_ostream<_CharT, _Traits>:: 
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
/usr/include/c++/6.3.1/bits/ostream.tcc:119:5: note: no known conversion for argument 1 from ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ to ‘std::basic_ostream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}’ 
In file included from /usr/include/c++/6.3.1/string:52:0, 
       from /usr/include/c++/6.3.1/bits/locale_classes.h:40, 
       from /usr/include/c++/6.3.1/bits/ios_base.h:41, 
       from /usr/include/c++/6.3.1/ios:42, 
       from /usr/include/c++/6.3.1/ostream:38, 
       from /usr/include/c++/6.3.1/iostream:39, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/bits/basic_string.h:5325:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) 
    operator<<(basic_ostream<_CharT, _Traits>& __os, 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/bits/basic_string.h:5325:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/bits/ios_base.h:46:0, 
       from /usr/include/c++/6.3.1/ios:42, 
       from /usr/include/c++/6.3.1/ostream:38, 
       from /usr/include/c++/6.3.1/iostream:39, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/system_error:209:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&) 
    operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/system_error:209:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘const std::error_code&’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:497:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) 
    operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:497:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘std::vector<int>’) 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:502:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) 
    operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:502:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘char’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:508:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char) 
    operator<<(basic_ostream<char, _Traits>& __out, char __c) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:508:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘char’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:514:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char) 
    operator<<(basic_ostream<char, _Traits>& __out, signed char __c) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:514:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘signed char’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:519:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char) 
    operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:519:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘unsigned char’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:539:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*) 
    operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:539:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: mismatched types ‘const _CharT*’ and ‘std::vector<int>’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/ostream:638:0, 
       from /usr/include/c++/6.3.1/iostream:39, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/bits/ostream.tcc:321:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) 
    operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘const char*’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:556:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) 
    operator<<(basic_ostream<char, _Traits>& __out, const char* __s) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:556:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘const char*’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:569:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) 
    operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:569:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘const signed char*’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) 
    operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:574:5: note: template argument deduction/substitution failed: 
Board.cpp:22:35: note: cannot convert ‘matriz.std::vector<_Tp, _Alloc>::operator[]<std::vector<int>, std::allocator<std::vector<int> > >(((void)0, ((std::vector<std::vector<int> >::size_type)j)))’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}’) to type ‘const unsigned char*’ 
       cout << matriz[i,j]; 
           ^
In file included from /usr/include/c++/6.3.1/iostream:39:0, 
       from Board.cpp:7: 
/usr/include/c++/6.3.1/ostream:628:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = std::vector<int>] <near match> 
    operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x) 
    ^~~~~~~~ 
/usr/include/c++/6.3.1/ostream:628:5: note: conversion of argument 1 would be ill-formed: 
Board.cpp:22:35: error: cannot bind ‘std::ostream {aka std::basic_ostream<char>}’ lvalue to ‘std::basic_ostream<char>&&’ 
       cout << matriz[i,j]; 

答えて

2

[i,j]はトラップです。 [j]と同じことです。あなたが望むのはmatriz[i][j];で、matriz[i,j]ではありません。

(あなたはまた、ヘッダファイルでusingディレクティブを避ける必要がありますが、それは純粋に化粧品です。あなたの問題は[i,j]一部です。)

+2

また、別の問題が(つまりマットであるが)のコピーを返し、その後、一時的なボードを作成していますそれ。このクラスに実際の常設ボードのデータはありません。mat()を呼び出すたびに、ボードクラスに実際には格納されていない新しい別のボードが作成されます。 –

関連する問題