c 和 c++ 函数声明和定义:指定数据类型

问题描述

我正在将 c 代码移植到 c++。下面的 C 程序编译成功。但是在 C++ 中,它会引发错误。我知道它非常基本的东西。我以这种方式声明了 100 多个函数。有没有我们可以添加的标志来编译成功,而不是修改所有的函数

  • 操作系统:Windows
  • IDE:Visual Studio
int sum(m,n)
int m,n;
{
    return m+n;
}

解决方法

这是非常古老的 C。在过去的 30 年里,没有人应该使用它。你不能用 C++ 编译器编译它。至少在我知道的编译器(clang、gcc、microsoft 编译器)中,没有任何编译器标志。

你应该转换所有具有形式的函数

int sum(m,n)
int m,n;
{
    return m+n;
}

输入表格

int sum(int m,int n)
{
    return m+n;
}

如果你有 100 个函数,它应该是可行的。 但可能还有许多其他问题,因为 C++ 不是 C 的精确超集。

这篇 SO 文章可能会让您感兴趣:Function declaration: K&R vs ANSI