请帮我理解gcc编译器输出。我完全糊涂了。
我有一个错误:
C/types.h:47:56: error: declaration of
'struct VV::MM<VV::SSS::Vector<short unsigned int>, 8u, 0u>'
对我来说这听起来很奇怪。
在types.h:47中,我看到了:
template<typename V, size_t Size1, size_t Size2> class MM;
这对我来说没问题。
这是构建日志中的第二条错误消息,我想知道它只是第一个错误的第二部分吗?这里第一个和第二个错误在一起:
<... compiles normally, no errors ...>
In file included from A/T.h:14:0,
from B/I.h:5,
from B/F.cxx:54:
A/AArray.h: In instantiation of
'AInternal::AlignedData<VV::MM<VV::SSS::Vector<short unsigned int>, 8u, 0u>, 104u, 0>':
A/AArray.h:561:125: instantiated from
'AFArray<VV::MM<VV::SSS::Vector<short unsigned int>, 8u, 0u>, AArraySize<104u> >'
A/V.h:73:99: instantiated from here
A/AArray.h:364:20: error: 'AInternal::AlignedData<T, Size, 0>::fArray'
has incomplete type
C/types.h:47:56: error: declaration of
'struct VV::MM<VV::SSS::Vector<short unsigned int>, 8u, 0u>'
In file included from <...other errors...>
在A / V.h:73我有:
AFArray<VV::SSS::Vector<short unsigned int>::MM, AAArraySize<N> > fAlpha;
我认为可以在日志中触发第二行:
A/AArray.h: In instantiation of
'AInternal::AlignedData<VV::MM<VV::SSS::Vector<short unsigned int>, 8u, 0u>, 104u, 0>':
因为VV :: SSS :: Vector :: MM是未定义的类型,因为第二个错误。
所以我有两个问题:
答案 0 :(得分:0)
问题是我丢失了文件,其中描述了已定义的MM类。已找到文件并添加到包含错误消失的路径。
我的问题的答案:
第二条错误消息是否是第一个错误的一部分?
是。它看起来如此。
这个宣言有什么不妥?
没有错,编译器只是告诉与错误声明相关的内容。