Я не знаю почему, но мое приложение QT вылетает каждый раз в комментарии //Error
(в последней функции файла. cpp). Вы знаете почему? У меня, к сожалению, нет отладчика здесь: /
ServerSys. cpp
#include "ServerSys.hpp"
#include "ui_ServerSys.h"
#include "ServerNet.hpp"
#include <iostream>
#include <iomanip>
#include <sstream>
#include <math.h>
#include <algorithm>
#include <QDesktopWidget>
Ui::ServerSys *serverSys;
ServerSys::ServerSys(QWidget *parent) : QMainWindow(parent), ui(new Ui::ServerSys)
{
ui->setupUi(this);
serverSys = ui;
this->setFixedSize(QSize(811, 521));
this->setGeometry(QApplication::desktop()->screen()->rect().center().x() / 2, 500, 811, 521);
}
ServerSys::~ServerSys()
{
delete ui;
}
void ServerSys::sendData()
{
std::vector<long long> decTokens(8);
std::vector<std::string> binTokens(8);
std::vector<bool> binLabel;
long long decLabel;
getData(decTokens);
}
void ServerSys::getData(std::vector<long long> &decTokens)
{
//Error
decTokens[0] = stoll(serverSys->lineEdit_label_270->text().toStdString());
decTokens[1] = stoll(serverSys->lineEdit_sdi_270->text().toStdString());
decTokens[2] = stoll(serverSys->lineEdit_distance_270->text().toStdString());
decTokens[3] = stoll(serverSys->lineEdit_lsb_270->text().toStdString());
decTokens[4] = stoll(serverSys->lineEdit_msb_270->text().toStdString());
decTokens[5] = 0;
decTokens[6] = stoll(serverSys->lineEdit_ssm_270->text().toStdString());
decTokens[7] = stoll(serverSys->lineEdit_parity_270->text().toStdString());
}
ServerSys.hpp
#ifndef SERVERUI_HPP
#define SERVERUI_HPP
#include <QMainWindow>
#include <vector>
#include <string>
QT_BEGIN_NAMESPACE
namespace Ui
{
class ServerSys;
}
QT_END_NAMESPACE
class ServerSys : public QMainWindow
{
Q_OBJECT
public:
ServerSys(QWidget *parent = nullptr);
~ServerSys();
void sendData();
private:
Ui::ServerSys *ui;
void getData(std::vector<long long>&);
};
#endif // SERVERUI_HPP
Поскольку я пытался отлаживать его вручную с помощью
std::string test = serverSys->lineEdit_label_270->text().toStdString();
std::cout << test << std::endl;
приложение не вылетело, но test
ничего не было и не было выхода. Для всех тестов я, разумеется, написал некоторые числа в поле редактирования строки, например 123
.