缺少显式类型(假定为'int')在全局变量中定义LPCSTR。

时间:2016-03-28 00:34:28

标签: c++

我有一个针对我的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";
    }
}

1 个答案:

答案 0 :(得分:2)

声明checkloc();没有指明类型,编译器假设你的意思是它返回int(这在C中是允许的,而不是C ++)。只需将返回类型指定为void即可解决您的问题

LPCSTR adsf;

void checkloc();

但是,声明一个函数然后立即定义它真的没有意义。该定义也可以作为声明,因此在您的情况下,您最好的举动是删除行checkloc();