假如我现在有一个Player.h的头文件
#include "Player.h"和直接class Player导入有什么区别
问什么我的有的时候#include "Player.h"这样导入会报
(error C2011: “Player”:“class”类型重定义)错误 希望大神回答
说明你的代码有变量冲突,具体看下错误的行。用命名空间区分下或者改名
不应该直接导入,#include "Player.h"、#include "Player.cpp分别写。
(error C2011: “Player”:“class”类型重定义)
可以在.cpp中#include "Player.h" 如果有2个.h文件互相#include,特别是一个类还是另一个类的元素或者继承之类的, 也会出现之类的问题
首先回答这个,#include "Player.h"和直接class Player导入有什么区别。#include "Player.h" 这种相当于直接将 "Player.h" 文件的内容直接粘贴过来了,class Player只是类声明, 声明以后编译器则知道存在Player这样一个类。#include "Player.h" 编译器则知道了Player 类的全部信息了,包括包含哪些变量,哪些函数,这个Player 的对象需要占用多少的内存空间。(error C2011: “Player”:“class”类型重定义)出现这个错误,说明你没有加入 #pragma once,或者没有使用
#ifndef __COCOS2D_H__
#define __COCOS2D_H__
#endif // __COCOS2D_H__
防止重复引用。你那个报错应该就是头文件被重复包含导致的。
如果对你有帮助,望采纳