首页 > 解决方案 > 类中的字符串没有命名类型

问题描述

今天我尝试为一个物理项目创建一个名为计算器的课程,顾名思义,我的课程只会做计算。作为物理程序,预计需要微积分公式;它们将使用参数化函数进行计算,返回一个由双精度和测量单位组成的字符串,如下所示: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 文件中,无论我在哪里定义了一个字符串返回函数

标签: c++classoopcodeblocksphysics

解决方案


改变

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

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

ETC


推荐阅读