gpt4 book ai didi

C++ LNK2019 未解析的外部符号 stdlib

转载 作者:太空狗 更新时间:2023-10-29 21:40:35 25 4
gpt4 key购买 nike

我有一个程序,它的一个函数需要 atol()。所以我包含了 stdlib.h 但它似乎没有看到它。

编辑:我知道要使用它,我应该包括 stdlib.h。我这样做了,但我仍然收到此错误。函数:

void
intstr( char *t )
{
long int atol( char * );
long x;
int i;
x=atol(t);

for(i=0;i<nilit;i++){
if(x == ilit[i]){
lsymb =symbol[nsymb++] = 250+i;
return;}
}
if( 50 <= nilit){
puts("** too many int literals**");
exit(1);
}
ilit[nilit++] = x;
lsymb = symbol[nsymb++] = 249 + nilit;
}

我尝试构建时遇到的错误

 error LNK2019: unresolved external symbol "long __cdecl atol(char *)" (?atol@@YAJPAD@Z) referenced in function "void __cdecl intstr(char *)" (?intstr@@YAXPAD@Z)
C:x\X\X\X\Debug\p8program.exe : fatal error LNK1120: 1 unresolved externals

最佳答案

你有这个代码:

void
intstr( char *t )
{
long int atol( char * );

这个 atol() 有什么意义? 错误声明?
使用 atol()在你的代码中,只是 #include <stdlib.h> .

请注意 atol() 的原型(prototype)是:

long atol( const char *str );

(输入参数是一个const指针。)

关于C++ LNK2019 未解析的外部符号 stdlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30762923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com