2010.7.13
一、如何防止文件重复编译?'class' type redefinition
在MFC项目中新建一个类,会发现在.h文件的第一行有代码:#pragma once
这行代码是什么作用呢?去掉以后,如果在两处分别引入了.h的头文件,比如:
在app 中,#include "Ctest1.h"
在View中,#include "Ctest1.h"
会报错:
1>d:\vs2008c++\2\testpredebug\ctest1.h(4) : error C2011: 'Ctest1' : 'class' type redefinition
1> d:\vs2008c++\2\testpredebug\ctest1.h(4) : see declaration of 'Ctest1'
如果只在一处引用,就不会报错!
#pragma once就是用于解决,在多个地方重复引入.h文件时,防止重复编译的问题。