1
4

1 回答 1

1

好的。实际问题与未提及的文件Shape.cpp有关,其中当然包括,以及在警卫之前Shape.h移动正在解决问题的事实。#include "GLProject.h"防护内包含指令的流程:

Shape.h (def guard)
     GProject.h (def guard) 
          ...(MainWindow.h and ShaderProgram.h)...//not interesting

          Shape.h (omit, because of guard)

          Scene.h
                GProject.h (omit, because of guard)
          back to Scene.h (def guard) ERROR

在外面使用指令时:

Shape.h
     GProject.h (def guard)
          ...(MainWindow.h and ShaderProgram.h)...//not interesting

          Shape.h
                GProject.h (omit, cause of guard)
          back to Shape.h (now def guard and class)

          Scene.h
                GProject.h (omit, because of guard)
          back to Scene.h (def guard) No error - Shape defined
于 2014-07-18T23:07:38.827 回答