头文件生成相同的警告两次

时间:2014-10-12 09:11:23

标签: c++

正如你在下面看到的那样,clang给了我两次相同的警告 - 一次在实现文件中,一次在主文件中我运行程序。反正有没有阻止这种情况发生?我在device.h中有标准的标题保护,我不知道如何摆脱它。

    In file included from device.cpp:1:
    ./device.h:35:4: warning: field 'm_new_depth_frame' will be initialized after
          field 'depthMat' [-Wreorder]
                            m_new_depth_frame(false), depthMat(Size(640,480)...
                            ^
    1 warning generated.
    In file included from kinect_test.cpp:3:
    ./device.h:35:4: warning: field 'm_new_depth_frame' will be initialized after
          field 'depthMat' [-Wreorder]
                            m_new_depth_frame(false), depthMat(Size(640,480)...
                            ^
    1 warning generated.

澄清一下,这个警告对我来说很好(来自第三方图书馆) - 我觉得没有必要再发出两次警告。

1 个答案:

答案 0 :(得分:2)

您将收到包含标题的每个翻译单元的警告,这是正常的和预期的,翻译单元是独立解析的。

要修复警告,请更换m_new_depth_frame的顺序 和depthMat在成员初始化列表中。