LINK 2005. Problem z załączaniem plików nagłówkowych
Ostatnio zmodyfikowano 2019-03-17 10:58
Wuwus1 Temat założony przez niniejszego użytkownika |
LINK 2005. Problem z załączaniem plików nagłówkowych » 2019-03-17 10:10:49 Trafiłem na błąd, którego nie mogę się pozbyć, czytałem o nim na anglojęzycznych forach ale nic nie pomogło. Otóż podczas komplicaji dostaję błąd "public: _thiscall Controler::Controler(void)" (??0Controler@@QAE@XZ) alredy defined in Application.obj. Doszedłem jedynie do tego, że błąd pojawia się jedynie po załączeniu "Controler.h" do pliku TextPlus.h lub TextPlus.cpp. Core.h #pragma once #include "Controler.h" #include "MyWindow.h"
#include "LooseWindow.h"
#include "CheckBox.h" #include "ValueBox.h" #include "TextBox.h" #include "SliderBox.h"
sf::Event * Controler::eventPrt = nullptr; float Controler::Scale = 1.0f; float Controler::ScaleFactor = 0.2f; unsigned int Controler::TextSize = 14;
TextPlus.h #pragma once #include <SFML/Graphics.hpp> #include "Controler.h"
#define _MARGINRL 2 #define _MARGINTB 3 ...
ValueBox.h #pragma once #include "Controler.h" #include "BasicBox.h" #include "Mouse.h" #include <SFML/Graphics.hpp> #include "TextPlus.h" #include <string> #include <vector>
#include <iostream> #include <typeinfo> #include <limits>
enum ValueType ...
|
|
pekfos |
» 2019-03-17 10:29:50 sf::Event * Controler::eventPrt = nullptr; float Controler::Scale = 1.0f; float Controler::ScaleFactor = 0.2f; unsigned int Controler::TextSize = 14; |
To wygląda jak definicje składowych statycznych. W pliku .hpp. Definicje funkcji, metod, zmiennych, składowych statycznych muszą być w plikach CPP, nie HPP. |
|
YooSy |
» 2019-03-17 10:30:10 Masz poprostu ponowną deklarację konstruktora klasy Contorler. Błąd jest w tej klasie. Pokaż kod "Controler.h" i Controler.cpp. Możliwe, że nie masz ustawionych guardów w pliku "Controler.h". Dzielenie kodu na kilka plików źródłowych |
|
Wuwus1 Temat założony przez niniejszego użytkownika |
» 2019-03-17 10:58:04 pekfos: Ok przeniosłem definicje składowych do pliku Application.cpp YooSy: Faktycznie, ja mam definicje class w pliku Controler.h a nie w Controler.cpp. Za dużo programowania szablonów klas :) Dzięki za pomoc. |
|
« 1 » |