VS2022中C++数组传参代码报错:函数定义位置错误如何修复?
问题修复方案
你的编译错误根源是C++不允许在函数内部定义另一个函数——你把printArray的实现写在了main函数里面,这违反了C++的语法规则,才导致编译器抛出错误提示。
修复后的代码如下:
#include <iostream> using namespace std; // 函数声明 void printArray(int theArray[], int sizeOfArray); int main() { int bucky[3] = {20, 54, 675}; int jessica[6] = {54, 24, 7, 8, 9, 99}; printArray(bucky, 3); printArray(jessica, 6); // 可补充调用,打印第二个数组 } // 函数实现移到main外部 void printArray(int theArray[], int sizeOfArray) { for (int x = 0; x < sizeOfArray; x++){ cout << theArray[x] << endl; } }
关键修改点:
- 将
printArray的函数实现从main函数内部移出,放置到main函数外部的合法代码区域 - 可选优化:添加对
jessica数组的打印调用,完整展示函数的复用性
内容的提问来源于stack exchange,提问作者dogydoge1
相关产品推荐
相关产品推荐

