gpt4 book ai didi

c++ - 调用错误没有匹配函数

转载 作者:行者123 更新时间:2023-11-28 07:37:27 27 4
gpt4 key购买 nike

我不明白这里出了什么问题。我删除了我认为是代码中不相关的部分,以使其更易于阅读。调试器在“check(grid, n, q, coord);”行显示以下错误。任何帮助表示赞赏:)

#include <iostream>
#include "Queen.h"

using namespace std;

template<size_t N>
void check(int *grid[N], int& n, Queen *q, int *coord[N])
{
//...
}

int main()
{
// Init
int n;

cout << "Grid size:" << endl;
cin >> n;
int const tn=n;
Queen q[tn];
int grid[tn][tn];
int coord[tn][2];

cin.get();

for (int i=0; i < n; i++) {
for (int j=0; j < n; j++)
grid[i][j]=0;
coord[i][0]=0;
coord[i][1]=0;
}

//...
check(grid, n, q, coord);
//...
}

错误: 没有匹配函数调用 'check(int [(int)tn][(int)tn], int&, Queen [(int)tn], int [(int)tn][2])'

最佳答案

int grid[tn][tn]; 不是编译时固定大小的数组。 C++ 中的可变长度数组是 GCC 扩展,而不是标准 C++。如您所见,该扩展与 C++ 模板不兼容。

关于c++ - 调用错误没有匹配函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16491645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com