c++ - 有没有办法用一种类型声明多个函数参数?

标签 c++ function types arguments

我是编程新手,不能真正理解为什么我不能只声明参数 类型与我处理普通变量的方式相同,并且必须一次又一次地声明类型。

我的意思是,为什么我必须:

Func(int a, int b, float c)

代替

Func(int a, b, float c)

?

当然,只要它们是同一类型即可。

  • 我真的可以做到吗,只是不知道该怎么做?

如果可以,请告诉我怎么做。

提前致谢。

@0x499602D2:如果参数声明更接近于对象声明,那么 void f(int a, float c, d) 大概等同于 void f(int a, float c, float d).该语言本可以使这项工作正确且一致。只是没有。 – 基思·汤普森

这最好地回答了我的问题。但这是一条评论...

最佳答案

这就是为什么:

一切都有一些规则或在契约(Contract)上运作。 理论上,您可以编写一个 C 编译器来代替:

func(int a, int b)

拿这个:

func(int a, b)

那就太好了。

但是

C 语言的创造者决定,每个形式参数都必须附加其类型,因此我们今天有了它。这只是您必须遵守的约定。

而且你必须遵循它,因为 C/C++ 解析器希望你这样做,否则它不会理解你。

同样你的问题:

Is there a way to declare multiple function arguments with one type?

理论上可以这样写:

there multiple a way Is to declare function arguments with one type?

如果您同意某人以这种方式构建问题,则您必须遵守此契约(Contract) - 期限。

关于c++ - 有没有办法用一种类型声明多个函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824242/

相关文章:

c++ - 为什么 OpenMP 'simd' 比 'parallel for simd' 有更好的性能?

matlab - 'does matrix contain value X?' 函数

c# - 如何将 C# 动态变量属性分配给另一个动态对象?

c++ - 为什么 void 在 C++ 中不采用 void 值?

c++ - 在 OpenCV 中比较图像边缘和边距

C++ 包含 Guard 奇怪的行为?

c++ - 如何在 C++ 中使用 setprecision

javascript - 循环内的 JS 函数 - 内存/CPU 注意事项

c++ - 寻找最低值(value)。功能。错误 : Thread 1: EXC_BAD_ACCESS (Code =1, 地址 = 0x7fff5fc89000)

c - 为什么我们不用一个短整型来表示一个返回值呢?