用另一个函数(都在类中)调用函数时出现问题。没有错误代码 C++
Posted
技术标签:
【中文标题】用另一个函数(都在类中)调用函数时出现问题。没有错误代码 C++【英文标题】:Problem with calling a function with another function (both within classes). No error codes C++ 【发布时间】:2019-12-05 05:57:58 【问题描述】:class DatingSim
public:
string userName;
int userAge;
int day1Place;
string places[4] = "Coffee Shop", " Duck Pond", "Club" , "Class";
string dayOneA = "W E L C O M E T O D A T I N G G A M E";
void slowPrint(string str, int time)
for (size_t i = 0; i != str.size(); ++i)
cout << str[i];
Sleep(time);
void dayOne();
void DatingSim::dayOne()
slowPrint(dayOneA, 250);
cout << endl;
... other code (just cout stuff shouldn't be a problem)
int main()
DatingSim NEWGAME;
NEWGAME.dayOne();
return 0;
因此,以前我使用的是字符串数组,而不是慢速打印函数参数的字符串,但它不起作用,所以我切换到字符串,但它不起作用。我对它进行了测试,当它不在一个班级时它可以工作。我不应该使用课程吗?我正在创建一个小游戏,我宁愿能够使用一个类。当我尝试运行时,没有错误消息只是说 FAILED。
【问题讨论】:
你可能需要在每个字母后flushstdout。 【参考方案1】:按照建议,您需要在每个字母之后刷新输出流,否则您会看到最后打印出整个字符串。
#include <chrono>
#include <iostream>
#include <string>
#include <thread>
using namespace std;
class DatingSim
public:
string userName;
int userAge;
int day1Place;
string places[4] = "Coffee Shop", " Duck Pond", "Club" , "Class";
string dayOneA = "W E L C O M E T O D A T I N G G A M E";
void slowPrint(string str, int time)
for (size_t i = 0; i != str.size(); ++i)
cout << str[i] << flush;
this_thread::sleep_for(chrono::milliseconds(time));
void dayOne()
slowPrint(dayOneA, 250);
cout << endl;
;
int main()
DatingSim NEWGAME;
NEWGAME.dayOne();
return 0;
【讨论】:
刷新是什么意思?如果我使用 window.h 代替睡眠,它仍然可以工作吗?以上是关于用另一个函数(都在类中)调用函数时出现问题。没有错误代码 C++的主要内容,如果未能解决你的问题,请参考以下文章
c++(在类中)执行buf=new char[i];delete []buf; 为啥没有调用构造和析构函数?