作为函数参数的结构数组
Array of Structs as Function Argument
我有一个structs数组,我只想把它传递给函数进行排序。我做错了什么,把structs的数组传递给函数?原型、调用和定义中有哪些错误?
注意-我意识到我还没有初始化结构数组。在我实际的代码中,数组中有来自文本文件的数据。这与我提出的问题无关。因此,请不要评论数组中没有任何内容。
下面是一个我无法工作的代码示例:
#include <iostream>
using namespace std;
struct checkType
{
char date[12];
char checkNum[8];
float amount;
};
void bubbleSort(checkType, const int);
int main()
{
const int NUM = 5;
checkType checkArray[NUM];
bubbleSort(checkArray, NUM);
return 0;
}
void bubbleSort(checkType array[], const int SIZE)
{
bool swap;
checkType temp;
do
{
swap = false;
for (int count = 0; count < (SIZE - 1); count++)
{
if (strcmp(array[count].date, array[count + 1].date) > 0)
{
temp = array[count];
array[count] = array[count + 1];
array[count + 1] = temp;
swap = true;
}
}
} while (swap);
}
此代码产生以下错误:
错误C2664:"void bubbleSort(checkType,const int)":无法转换从"checkType[5]"到"checkType"的参数1
因此,我尝试将函数调用从bubbleSort(checkArray, NUM);
更改为bubbleSort(checkArray[NUM], NUM);
此代码会产生以下错误:
错误LNK2019:未解析的外部符号"void __cdeclbubbleSort(struct-checkType,int)"(?bubbleSort@@YAXUcheckType@@H@Z)在函数_main 中引用
错误LNK1120:1个未解析的外部
有人能解释一下我做错了什么吗?
正向声明:
void bubbleSort(checkType, const int);
定义:
void bubbleSort(checkType array[], const int SIZE)
这些都不一样。远期申报应为:
void bubbleSort(checkType[], const int);
相关文章:
- C++将文本文件中的数据读取到结构数组中
- JSON转换为nlohmann JSON-lib中的结构数组
- 需要帮助将结构数组传递给函数
- 在 64 位边界上对齐C++结构数组?
- 带有枚举方向/类型的气泡排序结构数组
- 在C++中访问结构数组中的数据
- 从指向结构数组的指针中提取元素
- 如何制作一个地图,其中的值是C++中的结构数组
- 如何在函数中显示结构数组
- 包含作为成员C++函数的结构数组
- 如何修复函数中的 fstream 文件输入以将正确的信息存储在结构数组中?
- std::transform 将一个结构数组复制到另一个结构数组
- 将非托管结构数组封送到托管数组
- 显示结构数组
- 结构数组中所有类似字段的总和
- 结构数组的构造函数错误,错误消息:没有构造函数实例与参数列表匹配
- 在 glsl opengl 中将嵌套结构数组作为统一传递
- 使用初始化列表填充C++中的多维结构数组时出现问题
- 如何将字符串字符与结构数组进行比较?
- C++结构数组