Aktywne Wpisy

Karolaaa555 +12
Jak ja chyba zacznę płacić jakimś randomom żeby się ze mną kolegowali. Myślałam, że jak zdam tą maturę to będzie super, że będzie zero zmartwień. A teraz wsm tęsknię bo przynajmniej nie miałam czasu na myślenie i wymyślanie takich bzdur tylko focusowałam się na nauce. Jedynie co mi poprawia humor to granie w te durne gry przez które przesiedziałam lata na dupie i nabawiłam się fobii społecznej przez którą dostaję codziennie pytania

wfyokyga +107
Dobranoc
źródło: temp_file497302056630926366
Pobierz




#programowanie #qt #c++
Coś mi się wydaje, że problemem jest coś zupełnie innego, niż Ci się wydaje.
myclass.cpp
#include "myclass.h"
#
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
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
@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
#includeto w tym miejscu wstawi zawartość pliku include'owanego i skompiluje jak każdy inny kod. Zamiast#includemógłbyś równie dobrze wstawić