VC++6.0 (undeclared identifier)

请大家帮忙看一下这段源码:为什么会出现这个错误呢?谢谢

case COMMAND_PROXY_BEGIN: // 开启代理
m_hThread[m_nThreadCount++] = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)OpenProxy,
(LPVOID)(lpBuffer + 1), 0, NULL, true);
Sleep(100); // 传递参数用
break;

编译结果
(1) error C2065: 'COMMAND_PROXY_BEGIN' : undeclared identifier
(2) error C2051: case expression not constant
(3) error C2065: 'OpenProxy' : undeclared identifier
执行 cl.exe 时出错.

应该怎么修改...麻烦高手解答一下! 解决好后再追加10分!

(1) error C2065: 'COMMAND_PROXY_BEGIN' : undeclared identifier
错误:COMMAND_PROXY_BEGIN没有定义,可以用#define宏定义或enum枚举,如果是多个command,最好用enum。
例如
#define COMMAND_PROXY_BEGIN 2000 //注意不要与其他命令同值

enum Command
{
COMMAND_PROXY_BEGIN //这里默认值为0
, ……还可以添加其他命令枚举
}
(2) error C2051: case expression not constant
错误:提示说case 表达式不是常量,这是由于(1)引起的,处理了(1)就好了
(3) error C2065: 'OpenProxy' : undeclared identifier
错误:OpenProxy函数未定义,具体怎样定义就看你的用途了,定义该函数时要注意匹配MyCreateThread函数对应此参数的函数原型追问

几个方法都试了!! 还是不行阿!! 怎么办!

追答

是别人写好的代码那应该就不是代码本身的问题,而是设置的问题了,这种情况很有可能像楼下所说的没有把库(h和lib)的路径设置到VC里。
你F4继续看下其他错误有没有找不到什么头文件之类的,有的话就去搜索看有没有该文件,并把其路径添加到 VC菜单tools→options→Directories 中的include files一栏的列表里,另外还有相应的lib文件的路径也要添加到Library files一栏的列表里。
如果引用了库但又没有别人的库那就没办法了,除非能问别人要

追问

能不能加你QQ帮我解决一下阿... 你的是多少..我加下你。
谢谢了阿..

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-06
#include<iostream>
using namespace std;//加上这两句
int main(int argc, char* argv[])
{
int x, y;
scanf("%d %d", &x, &y);
int max(int a, int b);
int result = max(x, y);
printf("%d", result);
return 1;
}

int max(int a, int b)//这里是定义了,不要";"
{
int temp;
if (a > b)
temp=a;
else
temp=b;
return temp;
}
另外,虚机团上产品团购,超级便宜
第2个回答  2011-07-06
undeclared identifier 未声明的标识符
你的原因多半是没有引入专用库追问

怎么引入专用库阿??

追答

你写的这个程序引用了别人的库 你不把别人的库加入到你的工程里面 你怎么能编译通过呢
就是加入别人写好的源文件的头文件....

追问

我有别人写好的源文件的源码 但是我不知道是哪一个!!
能不能Q上帮我看下?? 你的是多少 我加你!

追答

282547917

第3个回答  2011-07-06
这个是因为你用的变量没有声明吧追问

怎么声明变量阿? 能帮下吗?

相似回答