用C+编写C程序+;编译程序 我在C中编写了一个程序,我想在C++中使用C++库,虽然我可以在C++中编译C++,但是我不能这么做,主要的错误是因为在代码的一部分我写了一个函数,从输入文件中读取数据,在main函数之前。这在C编译器中运行良好,但在Cpp编译器中不起作用。 下面是我收到的一些错误消息,所以我想得到一些在交替使用c和cpp时需要考虑的一般性意见和要点 error : ‘get_inputs’ was not declared in this scope error: use of parameter outside function body before ‘]’ token

用C+编写C程序+;编译程序 我在C中编写了一个程序,我想在C++中使用C++库,虽然我可以在C++中编译C++,但是我不能这么做,主要的错误是因为在代码的一部分我写了一个函数,从输入文件中读取数据,在main函数之前。这在C编译器中运行良好,但在Cpp编译器中不起作用。 下面是我收到的一些错误消息,所以我想得到一些在交替使用c和cpp时需要考虑的一般性意见和要点 error : ‘get_inputs’ was not declared in this scope error: use of parameter outside function body before ‘]’ token,c++,c,g++,C++,C,G++,下面的程序用C语言编译,并带有一个警告,例如:“bar”未定义;假设外部返回int 如果你想在C++中编译,你必须在使用之前声明 Bar : int bar(int x); // forward declaration void foo() { bar(5); } int bar(int x) { return x*2; } 即使在C语言中,最好使用前向声明并启用所有编译器警告,否则以下程序中的错误将漏掉: void foo() { bar(); // calling b

下面的程序用C语言编译,并带有一个警告,例如:“bar”未定义;假设外部返回int

如果你想在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
}

你的问题是什么?我应该怎么做来解决这些错误,C++编译器是否能够编译C?C++与C完全不兼容,因为C++在C的顶部构建。虽然C++是从这样开始的,但是这两种语言已经偏离了。C有一个隐含的正向声明,这可能是这里的问题。“C++内置于C之上。”意大利语内置于拉丁语之上,但如果你只说意大利语,你就无法真正理解拉丁语文本。C和C++是不同的语言,它们有一个大的公共子集(几乎所有的C都重叠了C++的大部分),其中一个不是另一个子集。它编译得很好,正如你所说的,在函数中使用变量之前,我没有声明变量。我真的很感激你的回答
void foo()
{
  bar();  // calling bar without argument....
}

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