iostream 不打印到第二个源中的终端 class (c++)
iostream not printing to terminal in second source class (c++)
当我尝试在构造函数中执行 cout 时,它不会打印出来。我知道 cout 在我的终端上工作,因为我可以从 main() 调用它,但不能从我的 CharacterStats.cpp class 和 CharacterStats.hpp header.
没有应有的终端输出。我期待 "---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;
}
CharacterStats.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;
}
CharacterStats.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();
声明一个 函数 不带参数并返回一个 CharacterStats
。
你要的是
CharacterStats coreUser;
容易犯的错误。
当我尝试在构造函数中执行 cout 时,它不会打印出来。我知道 cout 在我的终端上工作,因为我可以从 main() 调用它,但不能从我的 CharacterStats.cpp class 和 CharacterStats.hpp header.
没有应有的终端输出。我期待 "---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;
}
CharacterStats.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;
}
CharacterStats.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();
声明一个 函数 不带参数并返回一个 CharacterStats
。
你要的是
CharacterStats coreUser;
容易犯的错误。