c++ - 无法从 int main() 主体调用函数
问题描述
这是我创建的 SUM 函数,用于处理任意数量的整数。
#include <iostream>
using namespace std;
int sum(const int numbers[], const int numbersLen){
int sum = 0;
for (int i=0; i < numbersLen; ++i){
sum += numbers[i];
}
return sum;
}
我从int main()调用这个函数,但它不断给出错误
[Error] invalid conversion from 'char' to 'const int*' [-fpermissive]
主要功能如下:
int main(){
cout << sum([2],5);
return 0;
}
我知道这个错误非常幼稚而且很小,但我们将不胜感激!
解决方案
您正在尝试通过创建数组文字[2]
,就像一些流行的语言支持一样。但是,C++ 不支持这种语法。如果你想创建一个数组传入sum
,最简单的方法是这样的
int arr[] = {2};
cout << sum(arr,1);
注意我还调整了传递给函数的大小,在 C++ 中没有边界检查,所以传递比实际数组更大的大小是自找麻烦。
推荐阅读
- c# - C# - 如何从另一台计算机连接到我计算机的 SQL Server?
- objective-c - iPhone - Objective C - 在横向模式下全屏播放视频
- bash - 检查bash中是否存在满足一定条件的目录
- javascript - JS:如何检测用户是否正在使用实际的移动设备而不更改视口控件
- android - AutoCompleteTextView - 我正在使用显示来自 API 的值的 autocompletetextview(返回名称和代码)
- c# - DataTable 拒绝填充行
- ios - 如何使 Swift 协议符合特定类型的类?
- javascript - 从 AWS Lambda 触发 AWS EMR 流步骤时超时
- ios - 我的 Xcode 项目中的一些文件和文件夹没有被推送到远程存储库
- vba - vba复制一定范围并粘贴为图片