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

时间:2016-02-25 08:06:28

标签: c++ c g++

我在C中编写了一个程序,我想在这段代码中使用C ++库,但是我可以用C ++编译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

1 个答案:

答案 0 :(得分:1)

以下程序在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
}
相关问题