Closed daviddoria closed 13 years ago
Because MaskInternal is only used within Mask.cpp. It's referenced by Mask.h, but only as a pointer and a reference type. I changed how it was forward declared; see if this fixes your compiler errors:
Nope, I still get this:
/media/portable/Projects/src/lafarren-image-completer/src/priority-bp/impl/Mask.cpp:138: error: invalid use of incomplete type ‘struct PriorityBp::MaskInternal’ /media/portable/Projects/src/lafarren-image-completer/src/priority-bp/impl/Mask.h:107: error: forward declaration of ‘struct PriorityBp::MaskInternal’
Hmm, I don't get it. MaskInternal is fully defined right above where the error is.
It was my mistake. I had nested namespace PriorityBp inside of namespace PriorityBp!
I get these kinds of things:
/media/portable/Projects/src/lafarren-image-completer/src/priority-bp/impl/Mask.cpp:138: error: invalid use of incomplete type ‘struct PriorityBp::MaskInternal’ /media/portable/Projects/src/lafarren-image-completer/src/priority-bp/impl/Mask.h:128: error: forward declaration of ‘struct PriorityBp::MaskInternal’ /media/portable/Projects/src/lafarren-image-completer/src/priority-bp/impl/Mask.cpp:166: error: invalid use of incomplete type ‘struct PriorityBp::MaskInternal’ /media/portable/Projects/src/lafarren-image-completer/src/priority-bp/impl/Mask.h:128: error: forward declaration of ‘struct PriorityBp::MaskInternal’