vs在编写c++时报错找不到标识符
2017-08-08 18:52
423 查看
C++的编译是以.cpp为单元的,cpp编译时是“顺序编译”的,所以在main函数中使用,却在其之后定义的函数,自然找不到标识符。
两种解决方案:
1 在main函数之前先定义一下,编写函数的实际内容时就可以放在main之后了;
例如WndProc就在main之前定义了一下:
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
}
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)
{
}
2 把函数的定义编写都放在main之前。
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)
{
}
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
}
一般main函数都会放前面,这里只是举例。两个小函数之间谁在前谁在后都无所谓的时候,就可以选择第二种方式了。
两种解决方案:
1 在main函数之前先定义一下,编写函数的实际内容时就可以放在main之后了;
例如WndProc就在main之前定义了一下:
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
}
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)
{
}
2 把函数的定义编写都放在main之前。
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)
{
}
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
}
一般main函数都会放前面,这里只是举例。两个小函数之间谁在前谁在后都无所谓的时候,就可以选择第二种方式了。
相关文章推荐
- Java调用vs环境下C++编写的动态链接库
- 在windows下的VSCode编写C++配置
- ADT+CDT VS +NDK +Eclipse 编写C++程序
- C++基础之--用VS编写第一个C++程序
- matlab2013 a/b 找不到vs2013 c++ 编译器 解决方案
- C/C++/C#问题记录(一)VS2012编译调用dll项目找不到lib的workaround
- VS调试C++程序,提示无法启动程序,“...exe”。系统找不到指定文件
- 新手学习C++笔记1:调试错误之找不到标识符
- 使用VS2015编写C/C++开始步骤
- C++问题-UniqueAppObject.cpp(147): error C3861: “GUXClientInit”: 找不到标识符
- 利用vs 2017 编写 C++程序常用调试工具快捷键
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- C++ 编译 找不到标识符 问题
- VS 编写c++dll库文件
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- 编写高效的C#图像处理程序(4) Rgb=>Lab,C# vs. C++(VC)
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- 在64位机子调用vs编写的win32 c++程序遇到问题
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- VS调试C++程序,提示无法启动程序,MSVC\../../bin\caffe.exe系统找不到指定的文件