未定义的标示符“RECT”,引入了windows.h头文件也没有用?

我用的是win8的vs2012,RECT应该引入什么头文件?windows.h我第一个就引入了,去windows.h里面搜也搜不到RECT这个关键字,应该引入哪个头文件呢?
真是奇怪啊,是不是还需要什么命名空间呢?在MSDN上面查到它就是在Windows.h里面的啊

包含windows.h应该是可以的,没有的话,再包含windef.h,如果实在没有,就自己定义一个吧,效果一样的,结构如下:typedef struct tagRECT{    LONG    left;    LONG    top;    LONG    right;    LONG    bottom;} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
时间: 2024-10-12 09:08:46

未定义的标示符“RECT”,引入了windows.h头文件也没有用?的相关文章

error C2504: “CActiveXDocControl”: 未定义基类

出现这种错误,一般是头文件出现问题: 1.头文件互包含 2.头文件顺序 此错误是编译错误,和"inclued头文件"有关 问题描述 有三个头文件AgentSDK.h.AA.h.BB.h,其中CBB类继承自CAA. 头文件包含顺序如下, 1.AA.h包含AgentSDK.h 2.AgentSDK.h包含BB.h 3.BB.h包含AA.h 原因分析:编译器首先编译AA.h,因其包含AgentSDK.h,引入AgentSDK.h继续编译.因为AgentSDK.h包含BB.h,载入BB.h内容

error C2504: 未定义基类

出错的情况为: type.h 文件中定义了一个结构体,但只给出了声明 namespace pcl { struct CSDDSignature; } 其定义在type.hpp文件中给出 namespace pcl { struct CSDDSignature { float histogram[111]; }; } 在do.h文件中使用该结构体时,只包含了type.h文件,此时报错:未定义基类 解决方法: 在do.h文件中使用文件外定义的结构体时,需要看到定义,不能只是声明. 此类错误在派生类的

Ubuntu gcc错误:对'log'等函数未定义的引用

a.c 1 #include <stdio.h> 2 #include <math.h> 3 int main() 4 { 5 float a; 6 void print_logarithm(double); 7 printf("enter a num:"); 8 scanf("%f",&a); 9 print_logarithm(a); 10 return 0; 11 } 12 void print_logarithm(double

在OpenCV2.2后的版本中没有CvvImage类的解决方法(及出现错误:IntelliSense: 未定义标识符 &quot;CvvImage&quot; )

首先在你的解决方案资源管理器中的头文件和源文件下分别添加 CvvImage.cpp 如下图: view类头上加个#include "CvvImage.h"  头文件,应该就可以解决了. 下面是源代码: CvvImage.h.h CvvIm class  CvvImage { public:  CvvImage();  virtual ~CvvImage(); virtual bool  Create( int width, int height, int bits_per_pixel,

在类的头文件里尽量少引入其它头文件 &amp;lt;&amp;lt;Effective Objective-C&amp;gt;&amp;gt;

与C 和C++ 一样,Objective-C 也使用"头文件"(header file) 与"实现文件"(implementation file)来区隔代码.用Objective-C 语言编写"类"(class)的标准方式为:以类名做文件名称,分别创建两个文件,头文件后缀用.h,实现文件后缀用.m. 创建好一个类之后,其代码看上去例如以下所看到的: // EOCPerson.h #import <Foundation/Foundation.

在类的头文件中尽量少引入其他头文件 &lt;&lt;Effective Objective-C&gt;&gt;

与C 和C++ 一样,Objective-C 也使用"头文件"(header file) 与"实现文件"(implementation file)来区隔代码.用Objective-C 语言编写"类"(class)的标准方式为:以类名做文件名,分别创建两个文件,头文件后缀用.h,实现文件后缀用.m.创建好一个类之后,其代码看上去如下所示: // EOCPerson.h #import <Foundation/Foundation.h>

编译lua5.3.2报错提示libreadline.so存在未定义的引用解决方法

从官网上下载5.3.2的源码后,make linux进行编译,提示报错: gcc -std=gnu99 -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline /usr/local/lib/libreadline.so:对‘tputs’未定义的引用 /usr/local/lib/libreadline.so:对‘tgoto’未定义的引用 /usr/local/lib/libreadline.so:对‘tgetflag’未定义的引用 /usr/local/

李洪强iOS开发之OC[017]C语言标示符

/** *    标示符 2016年 7月 14日 01 低级语言和高级语言的最大不同: 低级语言用的是机器指令 高级语言就是写一些人可以看得懂的代码-汇编语言 标示符 就是名字 命名规则: 1) 只能有字母,数字,下划线,和美元符($)组成 (编译器支持的字符集) 2) 不能以数字开头 3)不能与关键字重名 4) 严格区分大小写 在开发中有给函数命名的机会,一般需要按照函数的功能, 来取一个有意义的名字 例如输入数字input a number 来作为函数名,写法有两种 input_a_num

C#引用COM对象,报错:《类型 *** 未定义构造函数, 无法嵌入互操作类型 *** 。请改用适用的接口》的解决办法。

错误信息: 1.类型“SQLDMO.BackupClass”未定义构造函数 2.无法嵌入互操作类型“SQLDMO.BackupClass”.请改用适用的接口. 代码如下:                 SQLDMO.Backup backup = new SQLDMO.BackupClass();                 SQLDMO.SQLServer sqlserver = new SQLDMO.SQLServerClass();                 sqlserver