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文件时,防止重复编译的问题。

posted @ 2010-07-13 18:04  pjh123  阅读(103)  评论(0编辑  收藏  举报