加上等于c ++中的返回错误

时间:2016-03-19 16:22:20

标签: c++

我在这段代码中遇到'+ ='的问题。我无法弄清楚为什么编译器会抱怨,返回错误“expected a';'”。我确信这是一个非常简单的解决办法,但如果有人能让我知道我哪里出错了,我真的很感激。

#define _USE_MATH_DEFINES

#include <iostream>;
#include <cmath>;
using namespace std;


double R = 15;
double Qr = 61.17;
double A = 2.47e08;
double Tp = 447;
double Q = 10000;
double t = 0;
double hb = 0;
double hbnew = 0;
int t1 = 300;
int t2 = 400;
double ph_tot = 0;

int main() {

     for (t = 0; t < Tp; t++) {

        double hb = (0.5*R + ((Qr / ((A*R) / Tp)*t)));
        double angle = t / (2 * M_PI);
        double hm = cos(angle);


        if (t1 < t && t < t2) {
            double hbnew = hb - (Q / ((A*R) / Tp)*t);
            double ph2 = 9180 * (hbnew - hm)*Q;
            double ph_tot += ph2;
            cout << "Power generated" << ph2 << endl;

        }

        else {
            double hbnew = hb;
        }


    }

system("pause");
return 0;

}

1 个答案:

答案 0 :(得分:7)

错误是因为您在初始化中使用它,重新定义了一个与全局变量同名的局部变量:

        double ph_tot += ph2;

对于初始化,您必须使用=(否则您将添加一些未定义的值)。

但是如果你想在全局变量中添加一些内容,只需删除类型:

        ph_tot += ph2;