Where do I define a struct in order to be accessible to all my classes?
-
The files I have are the following:
- myProject.pro
- mainwindow.h
- otherwindow.h
- main.cpp
- mainwindow.cpp
- otherwindow.cpp
- mainwindow.ui
- otherwindow.ui
In which one should I put the struct definition?
-
Hi, welcome to the forum.
There are two things here - the declaration and an instance of that struct.
The declaration should go in neither of these files. It should go intomyawesomestruct.h, and get included in.cppfiles you need it in.
As for an instance of that struct - that depends on what that struct is and how it should be interacted with.It can be a global instance - declared as
externin a header and defined in its own.cppfile.
It can be a member of a globally accessible instance of some class.
It can be a dynamically added property on a globally accesible object (e.g. the application object).
It can be a member passed as a parameter between other classes methods.
It can be a member of a class which instance is passed around.
... <- enter 10 other options hereIt all depends on the purpose of that struct and intended usage pattern.