我有一个针对我的c ++应用程序的settings.ini文件,但是我的一个用户Windows \ Temp是如何被破坏的,导致它搞砸了他。所以我打算将它移到用户文件夹中。所以我想在全局变量部分制作一个简单的脚本,如下所示。我收到错误消息“显式类型丢失(假定'int')”。我是新手,所以有人可以帮我理解什么是错的:) 是的我知道有更好的方法然后使用GetPrivateProfileIntA,并且全局变量很糟糕但是为了我的目的它可以工作:)
int setloc = GetPrivateProfileIntA("C:\\Users\\loc.ini", "locdir", 0, "locdir");
LPCSTR adsf;
checkloc();
void checkloc(){
if (setloc == 1){
adsf = "C:\\Users\\settings.ini";
}
else{
adsf = "C:\\Windows\\Temp\\settings.ini";
}
}
答案 0 :(得分:2)
声明checkloc();
没有指明类型,编译器假设你的意思是它返回int
(这在C中是允许的,而不是C ++)。只需将返回类型指定为void
即可解决您的问题
LPCSTR adsf;
void checkloc();
但是,声明一个函数然后立即定义它真的没有意义。该定义也可以作为声明,因此在您的情况下,您最好的举动是删除行checkloc();