【问题标题】:c and c++ function declaration & definition : specifying data typec 和 c++ 函数声明和定义:指定数据类型
【发布时间】:2021-05-30 21:01:13
【问题描述】:

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

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

【问题讨论】:

  • 您可能会查看一些 "reformater" 工具来自动化该过程。我不知道 clang-tidy*/*clang-format 是否支持这种表示法。

标签: c++ c function visual-c++


【解决方案1】:

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

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

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

int 到表单

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

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

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

【讨论】:

  • 我认为你有一个小错字:int sum(int m, _int_ n)。但是 +1 教我 K&R 函数声明风格。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 2014-11-22
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
相关资源
最近更新 更多