在 C++ 编译器中编译 C 程序

Compiling C program in C++ compiler

我用 C 写了一个程序,我想在这段代码中使用 C++ 库,虽然我可以用 g++ 编译 C,因为 C++ 是在 C 之上构建的。但是,我做不到那和主要错误是因为在代码的一部分中,我在主函数之前编写了一个函数来从输入文件中读取数据。这在 C 编译器中运行良好,但在 Cpp 编译器中运行不佳。 下面是我收到的一些错误消息,所以我想得到一般性的评论和在互换使用 c 和 cpp 时要考虑的要点

 error : ‘get_inputs’ was not declared in this scope 

error: use of parameter outside function body before ‘]’ token

以下程序在 C 中编译时带有警告,例如:'bar' 未定义;假设 extern 返回 int

void foo()
{
  bar(5);
}

int bar(int x)
{
   return x*2;
}

如果你想让它在 C++ 中编译,你必须在使用它之前声明 bar:

int bar(int x);   // forward declaration

void foo()
{
  bar(5);
}

int bar(int x)
{
  return x*2;
}

即使在 C 语言中,使用前向声明并启用所有编译器警告也是很好的做法,否则以下程序中的错误将被漏掉:

void foo()
{
  bar();  // calling bar without argument....
}

int bar(int x)
{
  return x*2;   // ... will result in an undefined value for x here
}