Aktywne Wpisy
Helonzy +34
Często zastanawiam się, dlaczego dochodzi do tak wielu potrąceń na pasach dla pieszych. Przecież wystarczy chwilę poczekać, aż samochody zwolnią, zanim wejdziemy na jezdnię.
Nawet jeśli pieszy ma pierwszeństwo na pasach, nie warto z tego korzystać zbyt pewnie, bo nie mamy szans w starciu z pojazdem. Jeżeli zauważę, że samochód nie zwalnia lub jego prędkość stanowi poważne zagrożenie w razie zderzenia, nie wchodzę na pasy. Zachęcam wszystkich do podobnego podejścia – warto
Nawet jeśli pieszy ma pierwszeństwo na pasach, nie warto z tego korzystać zbyt pewnie, bo nie mamy szans w starciu z pojazdem. Jeżeli zauważę, że samochód nie zwalnia lub jego prędkość stanowi poważne zagrożenie w razie zderzenia, nie wchodzę na pasy. Zachęcam wszystkich do podobnego podejścia – warto
ChlopoRobotnik2137 +429
Palacze to podludzie…sytuacja z przed chwili , chuop po 40 pali cienkiego papierosa czem prędzej na peronie żeby jak najwiecej nawciagac się. Pociąg już jedzie a pet nadal cały. Zaciąga się jak szalony by resztę pęta wrzucić na tory… już nie wspomnę o toaletach na lotniskach gdzie wiecznie śmierdzi fajkami bo jaśniepan nie umie wytrzymać bez fajki kilka godzin. No podludzie
#papierosy #fajki #palenie #tyton
#papierosy #fajki #palenie #tyton
#programowanie #qt #c++
Coś mi się wydaje, że problemem jest coś zupełnie innego, niż Ci się wydaje.
myclass.cpp
#include "myclass.h"
#include
#include
QString dowolny;
std::string dowolnystring;
//mystruct mydata;
myclass::myclass(QObject *parent) : QObject(parent)
{
dowolny = "cokolwiek";
dowolnystring = "string";
}
myclass.h
#ifndef MYCLASSH
#define MYCLASSH
#include
class myclass : public QObject
{
Q_OBJECT
public:
explicit myclass(QObject *parent = nullptr);
private:
signals:
};
#endif // MYCLASS_H
W Qt Creator.
Kompiluje się, ale wywala.
21:35:21: The program has unexpectedly finished.
21:35:21: Wymuszono zakończenie
QString?
a jak tworzysz zmienną globalną w headerze, to tak naprawdę tworzysz N inicjalizacji tych zmiennych globalnych w każdym .cpp gdzie ten header "dotrze"(nawet przez inne headery) i linker przypadkowo akurat wybiera taką kolejność inicjalizacji, że to działa. ale na innym kompilatorze/linkerze/komputerze może to się inaczej wybrać
#include "myclass.h"
int main() {
myclass c;
}
i skompilowałem:
qmake -project
qmake
make
wersja Qt 5.9.1
gcc 8.5.0
Daj minimalną implementację MainWindow (czy też QMainWindow), która reprodukuje problem.
Inaczej to sobie możemy zgadywać.
całe mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "myclass.h"
myclass mojaklasa;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
mainwindow.h
#ifndef MAINWINDOWH
#define MAINWINDOWH
#include
QTBEGINNAMESPACE
namespace Ui { class MainWindow; }
QTENDNAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Najprostszy z generacji w Qt
@Rasteris: obejście jest bardzo proste. twórz obiekty jako membery, a nie jako globalne, mówię ci to od początku.
1) Plik nagłówkowy i plik modułu (cpp) to z perspektywy kompilatora jedno i to samo. Ten podział jest dla nas - ludzi, aby łatwiej sobie kod organizować.
2) Kompilator, gdy kompiluje plik mainwindow.cpp, to tak na prawdę idzie linia po linii i jak znajdzie
#include
to w tym miejscu wstawi zawartość pliku include'owanego i skompiluje jak każdy inny kod. Zamiast#include
mógłbyś równie dobrze