Visual Studio 2013 "***":重定义;不同的基类型
出现问题
使用Visual Studio 2013 生成解决方案时,出现 “***”:重定义;不同的基类型 的问题,如图所示:

解决方案
在定义所在在头文件最上方加上一句:
#pragma once
即可编译通过:

原理解释
pragma once宏的作用
为了避免同一个头文件被包含(include)多次,C/C++中有两种宏实现方式:一种是#ifndef方式;另一种是#pragma once方式。
在能够支持这两种方式的编译器上,二者并没有太大的区别。但两者仍然有一些细微的区别。
两者有何区别?
方式一: