警告说什么? 我在代码中找不到任何拼写错误或多余的字符。:
if (!(connectedComp = (Vertex**)malloc(sizeof(Vertex*)))) {
AllocationError();
}
if (!(created = (unsigned int*)malloc(sizeof(unsigned int)))) {
AllocationError();
}
connectedComp[++counter] = CreateVertex(id, edgesMatrix, maxValue, created);
我宣布了
Vertex** connectedComp = NULL;
,函数签名为:
Vertex* CreateVertex(unsigned int id, unsigned int** edgesMatrix, unsigned int maxValue);
提前致谢,
答案 0 :(得分:0)
CreateVertex
的函数原型有3个参数,你试图发送4.这是警告
答案 1 :(得分:0)
你的功能签名是
Vertex* CreateVertex(unsigned int id, unsigned int** edgesMatrix, unsigned int maxValue);
你传递了4个参数。这是问题,因此编译器提供以下编译错误。
connectedComp[++counter] = CreateVertex(id, edgesMatrix, maxValue, created);
通过查看您的代码,您的电话应该是
connectedComp [++ counter] = CreateVertex(id,edgesMatrix,maxValue);
顺便说一下,你应该避免在C ++中使用malloc / free而不是使用new / delete或smart_pointer机制。