[转]C++ error C2011: “XXX”:“class”类型重定义

http://blog.csdn.net/m_leonwang/article/details/27678219

尝试修复这个程序的错误:

点击下载源代码文件夹

时间: 2024-08-06 19:44:09

[转]C++ error C2011: “XXX”:“class”类型重定义的相关文章

cocos2dx -- 错误笔记(3)class类型重定义

发生这个错误之后,百度之 发现原因是因为: “class”类型重定义  : 一般都是头文件重复include引起的. 比较之后发现: .h 文件中 缺少了   #pragma once 加入之后问题解决!

sockaddr struct 类型重定义

windows.h和winsock2.h有类型重定义我是知道的,本来就一个库来说没问题,把winsock2放到windows.h前或先定义WIN32_LEAN_AND_MEAN都能解决问题但现的出了问题,自己写的一个库里要用到ws2tcpip,这个头文件第一个包含的头文件就是winsock2.h把它放到windows前,库是能成功编译了,但当我在一个wxWidgets中调用它时,又出现那个让人厌烦的错误 ““sockaddr”: “struct”类型重定义”明显是wxWidgets先包含了win

C语言使用typedef进行类型重定义

今天学习STM32开发时与遇到了一个类型重定义语句,查阅资料后把它的用法整理如下,不到之处敬请留言批评指定,看到就修改,来自开源,回馈开源,共同进步! 类型重定义基本介绍: 在 C 语言中,除系统定义的标准类型和用户自定义的结构体.共用体等类型之外,还可以使用类型说明语句typedef 定义新的类型来代替已有的类型. typedef 语句的一般形式是: 1 typedef 已定义的类型 新的类型; 例如: 1 typedef int INTEGER; /*指定用 INTEGER 代表 int 类

error C2275: “XXX”: 将此类型用作表达式非法

在移植c++代码到c的时候,经常会出现一个奇怪的错误,error C2275: “XXX”: 将此类型用作表达式非法 表达式非法,这个错误是由于c的编译器要求将变量的申明放在一个函数块的头部,而c++没有这样的要求造成的. 解决的办法就是把变量的申明全部放在变量的生存块的开始. 初学C语言,这是我写的一个程序: #include <stdio.h> #include <string.h> int main(void) { char fname[20],lname[20]; int

typedef 类型重命名 和 #define 宏定义(1)

http://www.blogjava.net/jasmine214--love/archive/2010/11/29/339307.html 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和double等基本数据类型.从基本数据类型名称上, 不能够看出其所代表的物理属性,并且int.float和double为系统关键字,不可以修改.为了解决用户自定义数据类型名称的需求,C语言中引入类 型重定义语句typedef,可以为数据类型定义新的类型名称,从而

C++基础6 【继承】 类型兼容 satatic 多继承 虚继承 【多态】 案例 虚析构函数 重载重写重定义

[继承] 继承的访问控制域 图 类型兼容性原则  指针 与 引用 用子类直接初始化父类 类的继承模型示意 图 [继承结论] [非常重要的概念] 继承与组合混搭情况下,构造和析构调用原则 原则:先构造父类,再构造成员变量.最后构造自己 先析构自己,在析构成员变量.最后析构父类 继承中,同名的成员变量的处理办法 继承中,同名的成员函数的处理办法 派生类中的static关键字 如果静态成员变量,你没有使用,也没有初始化的话 编译不会报错 经典错误 : 类中函数默认是private的,无法在外部访问 具

VC中编译报错:error C2011: &#39;fd_set&#39; : &#39;struct&#39; type redefinition

这是头文件包含顺序的问题,原因与解决办法见下面代码的注释. /* 包含下面这两个头文件时,必须把winsock2.h放在前面 否则编译报错,N多的重定义错误:例如 error C2011: 'fd_set' : 'struct' type redefinition */ #include <WinSock2.h> #include <Windows.h> int main(int argc, _TCHAR* argv[]) { Sleep(1); return 0; } 其实可以不

C++ Error:C2011: &#39;struct&#39; type redefinition

C++ Error:C2011: 'struct' type redefinition 在c语言中,对同一个变量或者函数进行多次声明是不会报错的.所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,一个c文件多次包含同一个h文件也不会报错. 但是在c++语言中,#ifndef的作用域只是在单个文件中.所以如果h文件里定义了全局变量,即使采用#ifndef宏定义,一个c文件包含同一个h文件多次还是会出现全局变量重定义的错误. 使用#ifndef可以避免下面这种错误:如果在h文件中

编译错误 error C2451: “std::_Unforced”类型的条件表达式是非法的

part 1 编译器 vs2015 VC++. 完整的错误信息粘贴如下: d:\program files (x86)\microsoft visual studio 14.0\vc\include\algorithm(43): error C2451: “std::_Unforced”类型的条件表达式是非法的 完整代码: struct Bigger { bool operator() (vector<string>::size_type lhs, vector<string>::