iostream在第二源类(C )中不打印到终端

iostream not printing to terminal in second source class (c++)

本文关键字:打印 终端 iostream      更新时间:2023-10-16

当我尝试在构造函数中进行cout时,它不会打印出来。我知道COUT在我的终端上工作,因为我可以从main((调用它,而不能从我的artagerstats.cpp类中使用artackstats.hpp标头。

没有应有的终端输出。我希望"---DATALESS UNIT CREATED---"出现在输出

我使用

g++ -o a main.cpp CharacterStats.cpp CharacterStats.hpp    
./a 

编译和执行,没有什么都没有打印出来

main.cpp

#include "CharacterStats.hpp"
int main(void){
    CharacterStats coreUser();
    return 0;
}

targinstats.cpp

#include "CharacterStats.hpp"
#include <iostream>
using namespace std;
CharacterStats::CharacterStats(char name, bool type, short strength, short armor, short resist, short speed, short luck){
    cout << "---CORE DECLARED---" << endl;
    this->name = name;
    this->type = type;
    this->strength = strength;
    this->armor = armor;
    this->resist = resist;
    this->speed = speed;
    this->luck = luck;
}
CharacterStats::CharacterStats(){
    cout << "---DATALESS UNIT CREATED---" << endl;
}

targinstats.hpp

#ifndef CHARACTER_STATS
#define CHARACTER_STATS
class CharacterStats{
    private:
        char name;
        bool type;
        short strength, armor, resist, speed, luck;
    public:
        CharacterStats(char, bool, short, short, short, short, short);
        CharacterStats();
};
#endif /* CHARACTER_STATS */

这是因为您没有调用构造函数。

 CharacterStats coreUser();

声明a 函数没有参数并返回 CharacterStats

您想要的是

CharacterStats coreUser;

简单的错误。