2 hustis1403 HUSTIS1403 于 2016.02.19 16:33 提问

初学windows程序设计,为什么是未定义标识符啊,需要include头文件么?(vs2015)

#include

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = L"helloWin";
HWND hwnd;
MSG msg;
WNDCLASS wndclass;

wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;

if (!RegisterClass(&wndclass))
{
    MessageBox(NULL, L"this program requires win32!",szAppName,MB_ICONERROR);
    return 0;
}

hwnd = CreateWindow(szAppName, L"Hello world!", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);

while (GetMessage(&msg, NULL, 0, 0))
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}

return msg.wParam;

}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;

switch (message)
{
case WM_CREATE:
    MessageBox(hwnd, L"你好,世界", L"窗口第一次创建", MB_OKCANCEL);
    return 0;
case WM_PAINT:
    hdc = BeginPaint(hwnd, &ps);
    GetCilentRect(hwnd, &rect);
    DrawText(hdc, L"Hello world!",-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
    EndPaint(hwnd, &ps);
    return 0;
case WM_DESTROY:
    PostQuitMessage(0);
    return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);

}

1>------ 已启动生成: 项目: Win32 wndproc, 配置: Debug Win32 ------
1> 源.cpp
1>e:\c++代码\win32 wndproc\win32 wndproc\源.cpp(55): error C3861: “GetCilentRect”: 找不到标识符
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

1个回答

piaobotudou
piaobotudou   2016.02.19 17:03

因为拼错了
GetClientRect

HUSTIS1403
HUSTIS1403 嗯嗯,看出来了 我拼读就读错了。。。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
网络编程初始化类 CInitSock
网络编程初始化类 #include #pragma comment(lib, "ws2_32.lib") class CInitSock { public: CInitSock(BYTE minorVer=2, BYTE majorVer=2) { WORD wVersionRequested = MAKEWORD(minorVer, majorVer); WSADATA
针对vs创建空项目加载osg中opengl头文件未定义的错误
在VS中写osg的朋友也许会碰到下面的问题: 比如建立工程时候建立的是空项目,然后添加osg的头文件,如#include。在编译的的时候提示如下的错误信息: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GL/gl.h(1152) : error C2144: syntax error : 'void' sh
“未声明的标识符:SurfFeatureDetector”问题解决办法
在VS中使用opencv2.4.X版本的时候,如果使用SurfFeatureDetector(或者SiftFeatureDetector)做特征点检测的时候,按照官方文档上的示例代码include头文件为:opencv2/features2d/features2d.hpp,则会出现如下报错:errorC2065: “SurfFeatureDetector”: 未声明的标识符。   1、实际上2
vs中使用M_PI的问题及解决
<br />M_PI 是一个宏定义,圆周率的定义<br />          C/C++ code#define M_PI 3.14159265358979323846此宏定义和编译器有关,TC中M_PI宏就定义在<math.h>里面。 但vc的<math.h>中没有了M_PI的宏定义。因此编译时会出错,提示:“M_PI”: 未声明的标识符。解决方法:自己定义。
MFC添加控件后引用名字显示未定义错误 是没添加#include "Resource.h"
MFC添加控件后引用名字显示未定义错误 是没添加#include "Resource.h"
vs使用.sort 找不到标识符
前提: vc++实在太挫,为了单步调试C++,使用vs。 版本:visual studio 2013 出现问题: sort:找不到标识符。 网上查了一会,目测在VS2010版本及以上有出现类似情况的网友。 最终解决方案: 添加:#include
#include 后还是提示string str;string未定义的标识符
#include 还是提示未定义标识符,是因为没有使用using namespace std;
C++中头文件在源文件中总显示未定义
学习c++中的一点小问题: 不知不觉中到了大二,进入了计算机学院,接触面向对象编程也有一个多月了,可是每当我创建一个类时,总是会提示这个类未定义,同时Error一般都是10+或者是4个,以前总是乱改,或者是到网上乱差一通,没有反思自己知识点的掌握,今天重新看了一遍老师的PPT以及书本,终于创建成功了,说了这么多现在就来记录确却的问题吧! 1.粗心大意,连class后面的';'都能忘记,也是服了
vs2013提示malloc是未定义的标识符
问题如下: 解决: 加上#include "malloc.h" #include #include "malloc.h" typedef char ElemType; typedef struct BiNode{ ElemType data; struct BiNode *lchild; struct BiNode *rchild; }BiNode,*BiTre
vs2013 c++ 引用头文件后出现未定义或者重定义
未定义 #include "stdafx.h"必须要放在所有引用文件的最前面 #include "########.h" #include "########.h" 重定义; 1、在出现重定义错误的头文件加上: #ifndef FileName_H_//文件最前面 #define FileName_H_ //内容 #endif    //文件末尾 2、在出现重定义错误