我正在尝试编写一个程序,该程序使用基类来定义解决简单问题的算法.我使用一个整数向量作为"游戏板".我的问题是如何创建一个返回游戏板矢量的函数get_moves?
这是我对该函数的代码:
std::vector< <std::vector<int> > takeaway::generateMoves( std::vector<int> currBoard ) {
if( currBoard[0] == 1 || currBoard[0] == 2 ) {
moves.push_back( 1 );
}
else if( currBoard[0] == 3 ) {
moves.push_back( 2 );
}
else if( currBoard[0] == 4 ) {
moves.push_back( 3 );
}
else {
moves.push_back( 1 );
moves.push_back( 2 );
moves.push_back( 3 );
}
std::vector< <std::vector <int > > toReturn( moves );
for( int i = 0; i < moves.size(); i++ ) {
std::cout << "MOVES: " << moves[i] << std::endl;
}
return toReturn;
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
takeaway.cpp:55:错误:模板参数1无效takeaway.cpp:55:错误:模板参数2无效
所以我的问题是如何正确创建和返回向量向量?
您的模板声明中有太多<\n'.
std::vector< std::vector<int> > takeaway::generateMoves( std::vector<int> currBoard )
{
if( currBoard[0] == 1 || currBoard[0] == 2 ) {
moves.push_back( 1 );
}
else if( currBoard[0] == 3 ) {
moves.push_back( 2 );
}
else if( currBoard[0] == 4 ) {
moves.push_back( 3 );
}
else {
moves.push_back( 1 );
moves.push_back( 2 );
moves.push_back( 3 );
}
std::vector< std::vector<int> > toReturn;
toReturn.push_back( moves );
for( int i = 0; i < moves.size(); i++ ) {
std::cout << "MOVES: " << moves[i] << std::endl;
}
return toReturn;
}
Run Code Online (Sandbox Code Playgroud)
可能会有更多,但这是其中之一.