类中的字符串未命名类型

时间:2018-11-02 22:33:20

标签: c++ class oop codeblocks physics

今天,我试图为一个物理项目创建一个名为计算器的类,顾名思义,我的类将进行计算。作为物理学程序,它需要微积分公式。并将使用参数化函数进行计算,并返回一个由double和测量单位组成的字符串,如下所示:177 J/Kg*K

现在,让我们解决问题:

所以我已经测试了我的函数,之后我决定将其纳入面向对象的编程中,因为这至少会使我的事情变得简单一些。 上完课后,我出现了一个错误,说

  

“类计算器”中的“字符串”未定义类型

代码如下:

Calculator.h

#ifndef CALCULATOR_H
#define CALCULATOR_H

#include <iostream>

using namespace std;

class Calculator{
private:

public:
    Calculator();
    string capCalorica(double cReceived, double varTemp);
    string caldSpecifica(double cReceived, double varTemp, double mass);
};

#endif // CALCULATOR_H

Calculator.cpp

#include "Calculator.h"
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

Calculator::Calculator(){
    cout<<"Calculus Module Initialized!"<<endl;
    Sleep(2000);
    system("cls");
}

Calculator::string capCalorica(double cReceived, double varTemp)){
    stringstream sstr;
    double result = cReceived/varTemp;

    sstr<<result<<" J/Kg";

    return sstr.str();
}

Calculator::string caldSpecific(double cReceived, double mass, double varTemp){
    stringstream sstm;
    double result = cReceived/(mass*varTemp);

    sstm<<result<<" J/Kg*K";

    return sstm.str();
}

无论我在哪里定义了字符串返回函数,该错误都在cpp文件中

2 个答案:

答案 0 :(得分:1)

更改

Calculator::string capCalorica(double cReceived, double varTemp)){
...
}

std::string Calculator::capCalorica(double cReceived, double varTemp)){
...}

答案 1 :(得分:0)

您在头文件中的声明string capCalorica(double cReceived, double varTemp);使用string作为类型,但是目前尚不知道这种类型。您只是忘记了头文件中的#include<string>