等风来电影下载:c++问题 msdn上的例子为什么错误?

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 07:02:42
这是一个msdn上关于_lsearch函数的例子:

// crt_lsearch.c

#include <search.h>
#include <string.h>
#include <stdio.h>

int compare( const void *arg1, const void *arg2 );

int main(void)
{
char * wordlist[4] = { "hello", "thanks", "bye" };
// leave room to grow...
int n = 3;
char **result;
char *key = "extra";
int i;

printf( "wordlist before _lsearch:" );
for( i=0; i<n; ++i ) printf( " %s", wordlist[i] );
printf( "\n" );

result = (char **)_lsearch( &key, wordlist,
&n, sizeof(char *), compare );

printf( "wordlist after _lsearch:" );
for( i=0; i<n; ++i ) printf( " %s", wordlist[i] );
printf( "\n" );
}

int compare(const void *arg1, const void *arg2 )
{
return( _stricmp( * (char**)arg1, * (char**)arg2 ) );
}

我在Visual Studio .NET 2003上调试.发生了错误.
结果为:
error C2664: “_lsearch” : 不能将参数 3 从“int *__w64 ”转换为“unsigned int *”
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

请高人指点指点.