调用C++数组函数报错:如何正确传递数组给void打印函数?
问题解决:C++数组传递错误修复
你遇到的编译错误是因为在函数调用中错误地使用了array[]的写法。在C++里传递数组给函数时,直接写数组名即可,数组名会自动转换为指向数组首元素的指针,匹配函数的参数要求。
错误代码修正
将第61行和第65行的代码修改为:
print( "Random Values", array, num ); //prints the array sort( array, num ); //sorts then prints the array
补充说明
在C++中,当你声明函数参数为数组类型(比如void print(const char* label, int arr[], int size)),编译器实际上会把它解析为指针类型void print(const char* label, int* arr, int size)。所以调用时只需要传递数组名,加[]属于语法错误,编译器无法识别这种写法。
内容的提问来源于stack exchange,提问作者ShiteProgrammer1
相关产品推荐
相关产品推荐

