class 中的字符串未命名类型

String in class doesn't name a type

今天我尝试制作一个名为 class 的计算器,用于物理项目,顾名思义,我的 class 只会进行计算。作为物理程序,预计需要微积分公式;它们将使用参数化函数进行计算,返回一个由双精度和测量单位组成的字符串,如下所示:177 J/Kg*K

现在,让我们开始讨论问题:

所以我测试了我的函数,之后我决定将它变成面向对象编程,因为它会让我的事情变得更简单,至少...... 制作 class 后,我收到一条错误消息,指出

"string" in "class Calculator" doesn't define a type

代码如下:

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文件中,我在哪里定义了一个字符串返回函数

您在头文件中的声明 string capCalorica(double cReceived, double varTemp); 使用 string 作为类型,但此时此类型未知。你只是忘了在头文件中#include<string>

改变

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

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

等等