使用G ++编译时出现以下错误

时间:2014-08-12 22:43:34

标签: c++ compiler-construction

我对编程有点新意,因为你可以从我之前的问题中得知。我想知道是否有人可以帮助我解决我最近遇到的这个问题。我正在尝试使用g ++编译脚本main.cpp但我收到以下错误:

Donny@Donny-PC /cygdrive/c/Users/Donny/Desktop/equation/equations/equations
$ g++ main.cpp -o don.exe
main.cpp:3:11: error: ‘::main’ must return ‘int’
 void main(){
       ^
main.cpp: In function ‘int main()’:
main.cpp:36:22: error: ‘pow’ was not declared in this scope
  float n=pow(10.0,9.0);
                  ^
main.cpp:43:27: error: ‘sin’ was not declared in this scope
  float R56=(lb1/sin(theta1)) * ((tan(theta1))-theta1) + (lb2/sin(theta1)) *                ((tan(theta1))-theta1) +
                       ^
main.cpp:43:44: error: ‘tan’ was not declared in this scope
  float R56=(lb1/sin(theta1)) * ((tan(theta1))-theta1) + (lb2/sin(theta1)) *     ((tan(theta1))-theta1) +
                                        ^
main.cpp:48:40: error: ‘cos’ was not declared in this scope
  d*((pow(tan(theta1),2))/cos(theta1)) +
                                    ^

奇怪的是,当使用microsoft visual studio 2010 C ++编译时,此代码可以正常工作。任何帮助将不胜感激!

编辑:

所以,修复了上面显示的很多错误,但是我仍然在修复void main错误方面有点困难。以下是我的代码的外观:

#include<iostream>
#include<cmath>
using namespace std;
void main(){
    float r, i, f, beta, alpha;
    cout<<"Enter value of R : ";............

非常感谢任何帮助或示例。

1 个答案:

答案 0 :(得分:2)

第一个错误应该是不言自明的。该标准规定main函数必须返回int,但您已将其声明为void。从0函数返回main表示正常终止。在这一点上,Microsoft编译器并不严格。

使用#include <math.h>可以解决所有剩余的错误。