前提・実現したいこと
c++初心者です
提示コードですが、draw関数に構造体の配列ichiを引数で渡したいのですがどうすればいいでしょうか?
配列でない構造体ではできるのですが...
発生している問題・エラーメッセージ
ques.cpp: In function ‘void draw(board*)’:
ques.cpp:18:8: error: no match for ‘operator>>’ (operand types are ‘std::ostream’ {aka ‘std::basic_ostream<char>’} and ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’})
18 | cout>>ichi[0].maru>>endl;
| ~~~~^~~~~~~~~~~~~~
| | |
| | std::string {aka std::__cxx11::basic_string<char>}
| std::ostream {aka std::basic_ostream<char>}
In file included from /usr/include/c++/9/string:56,
from /usr/include/c++/9/bits/locale_classes.h:40,
from /usr/include/c++/9/bits/ios_base.h:41,
from /usr/include/c++/9/ios:42,
from /usr/include/c++/9/istream:38,
from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from ques.cpp:1:
/usr/include/c++/9/bits/basic_string.tcc:1466:5: n
該当のソースコード
c++
#include <bits/stdc++.h> #include<iostream> #include<string> #include<vector> #include <array> using namespace std; using std::cout; using std::endl; using std::vector; using std::string; struct board{ int x; int y; string maru; }; void draw(board ichi[]) { cout>>ichi[0].maru>>endl;} int main(){ int i,k,j; board ichi[9]; i=0; while(i<9){ for(k=1;k<4;k++){ for(j=1;j<4;j++){ ichi[i]={k,j,0,"○"}; i++; } } } draw(ichi); return 0; }
#補足
コンパイルエラーはまだ続いているのですが、膨大すぎるのでpick upしてのせました