类中的字符串不命名类型

String in class doesn't name a type

本文关键字:类型 字符串      更新时间:2023-10-16

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

现在,让我们来解决问题:

所以我测试了我的函数,之后我决定把它变成面向对象编程,因为它会让事情对我来说简单一点,至少。。。上完课后,我犯了一个错误,说

"类计算器"中的"字符串"没有定义类型

这是代码:

计算器.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

计算器.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文件中,无论我在哪里定义了字符串返回函数

更改

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

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

etc

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