Witam. Moglibyście mi wytłumaczyć, dlaczego w pliku wh_List.h nie widać struktury znajdującej się w pliku wh_vscrollbar.h?
main.h:
wh_GDI.h (tutaj wczytuję wszystkie kontrolki)
wh_vscrollbar.h
wh_List.h
Tu w wh_list nie widzi mi strukury, nie mam pojęcia czemu : /
main wciąga wh_GDI,
wh_GDI wciąga wh_vscrollbar,
wh_vscrollbar wciąga wh_list,
wh_list wciąga wh_gdi które przepada na strażniku (ifndef), struktura nie jest definiowana, następnie jest błąd w wh_list.
#ifndef BUTTON_ZDEFIONIOWANY
#define BUTTON_ZDEFIONIOWANY 1
#include <windows.h>
#include <iostream>
#include <conio.h>
#include <cmath>
#include <stdio.h>
#include <string>
#include <vector>
#include <stdlib.h>
#include "WH_GDI.h"
wh_Button.h tez wciąga wh_gdi, a jednak działa i mogę go używać w wh_List, to samo wh_checkbox.h. Macie pomysł, jak to rozwiązać?
Jednym z rozwiązań jest wyrzucić wh_gdi z wh_vscrollbar i wh_list, a inkludować tylko to, co naprawdę potrzebne.
Generalna zasada, to że jeśli A.h wciąga B.h, to B.h nie powinno wciągać A.h.
U ciebie jest ten błąd w wh_gdi vs wh_vscrollbar i w wh_gdi vs wh_list.
To w takim razie jak w main.h mam
#include "WH_GDI.h
to nigdzie indziej już nie powinienem nic wciągać? Bo każdy z plików używa:
#include "wh_operacje_na_uchwytach.h"
#include "wh_grafika.h"
#include "wh_operacje_na_tekscie.h"
Zastanawia mnie tylko, dlaczeo akurat przy wh_List wyskoczył mi błąd a nigdzie indziej nie :O
@Azarien mógłbyś mi wytłumaczyć, dlaczego
LIST(_LISTDRAW myListDrawFunc, _LISTUPDATE myListUppdateFunc, sVSCROLLBAR &newVsb);
pokazywało błąd, a
LIST(_LISTDRAW myListDrawFunc, _LISTUPDATE myListUppdateFunc, struct sVSCROLLBAR &newVsb);
naprawiło problem? Spojrzałem na inne kontrolki i tak właśnie mam tam porobione.
struct sVSCROLLBAR;
przed tym wierszem też naprawi problem.
Deklaracja LIST(_LISTDRAW myListDrawFunc, _LISTUPDATE myListUppdateFunc, struct sVSCROLLBAR &newVsb);
robi obie rzeczy na raz.