我有
struct ArrayIndex
{
int rowIndex;
int columnIndex;
};
void fn()
{
vector<struct ArrayIndex> IntermediateIndex[2];
getNextRowColumn(&IntermediateIndex);
}
void getNextRowColumn(vector<ArrayIndex>* IntermediateIndex[2])
{
.................
}
它给出了错误
cannot convert ‘std::vector<ArrayIndex> (*)[2]’ to ‘std::vector<ArrayIndex>**’ for argument ‘1’ to ‘void getNextRowColumn(std::vector<ArrayIndex>**)’
答案 0 :(得分:0)
我想你想将C数组作为参数传递给函数,然后你需要像
这样的东西void fn()
{
vector<ArrayIndex> IntermediateIndex[2];
getNextRowColumn(IntermediateIndex);
}
void getNextRowColumn(vector<ArrayIndex>* IntermediateIndex)
{
}
但是,由于问题标记为C++
,您最好坚持使用C ++语义,例如
void fn()
{
array<vector<ArrayIndex>, 2> IntermediateIndex;
getNextRowColumn(IntermediateIndex);
}
void getNextRowColumn(array<vector<ArrayIndex>, 2>& IntermediateIndex)
{
}
或者使用vector<vector<…>>
,取决于你将要用它做什么