所以基本上我把一个字符串放入一个变量中,并没有返回正确的值。
存储值的类:
#include "livestreamer.h"
#include <cstdlib>
#include <string>
#include <iostream>
using namespace std;
void setStream(string x);
string getStream();
livestreamer::livestreamer()
{
}
void livestreamer::setStream(string x){
stream = x;
}
string livestreamer::getStream(){
return stream;
}
提供值的类:
#include "streamwindow.h"
#include "ui_streamwindow.h"
#include "livestreamer.h"
#include "startstream.h"
#include <string>
#include <iostream>
using namespace std;
streamwindow::streamwindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::streamwindow)
{
ui->setupUi(this);
}
streamwindow::~streamwindow()
{
delete ui;
}
void streamwindow::on_pushButton_clicked()
{
}
void streamwindow::on_pushButton_17_clicked()
{
livestreamer st;
st.setStream("tsm_dyrus");
startstream s;
s.reallystartstream();
}
使用值的类:
#include "startstream.h"
#include "livestreamer.h"
#include <string>
using namespace std;
startstream::startstream()
{
}
void startstream::reallystartstream(){
livestreamer obj;
system(("livestreamer twitch.tv/"+obj.getStream()+" best").c_str());
}
正在发生的事情是我运行它并且它根本不会返回值。所以,如果有人可以尝试帮助我,那就太棒了。
答案 0 :(得分:1)
我假设livestreamer::stream
的类型是std::string
。
您创建两个对象,并将值存储在一个对象中,然后从第二个对象中检索它。第二个对象不包含第一个对象的值,需要传递第一个对象。
在你的streamwindow :: on_pushButton_17_clicked()中:
void streamwindow::on_pushButton_17_clicked()
{
livestreamer st;
st.setStream("tsm_dyrus");
startstream s;
s.reallystartstream( st );
}
然后是你的startstream课程:
void startstream::reallystartstream( livestreamer & obj ){
system(("livestreamer twitch.tv/"+obj.getStream()+" best").c_str());
}