When the compiler processes the .hpp file, it needs to determine the size of the memory and the layout of class A. For this reason, it needs to know the memory layout of struct videoDT.
A compiler error complaining that it does not know what struct videoDT is because you define it in a .cpp file.
To resolve this error, you need to define a struct in the .hpp file that will be included before your original .hpp. Alternatively, you can use the pimpl idiom and change class A to:
class A { private: struct videoDT* pVideoDT; }
If you do this, you will no longer need to define the structure in the header file just to compile class A. However, the pimpl idiom is an advanced technique, and I suggest reading it before deciding to use it.
Jon
source share