2016-03-28 6 views
0

私のC++アプリケーション用のsettings.iniファイルを持っています。ユーザーWindows \ Tempがどれほど壊れてしまったのでしょうか?だから私は彼のためのユーザーのフォルダに移動するつもりだった。ですから、以下に示すように、グローバル変数のセクションで簡単なスクリプトを作成したかったのです。 「明示的な型が欠落しています(「int」が仮定されています)というエラーメッセージが表示されます。私は、はい、私はより良い方法がGetPrivateProfileIntAを使用して、その後がいることを知っている、そしてグローバルVARSは悪いですが、私の目的のために、それは動作しますので、誰かが私が間違っているかを理解助けてください可能性:) をこれに新しいです:)明示的な型は、グローバル変数にLPCSTRを定義することができません( 'int'と仮定します)。

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"; 
    } 
} 

答えて

2

宣言checkloc();には型が示されておらず、コンパイラはintを返します(これはCではなくCでは許可されています)。単にしかし、関数を宣言してから、すぐにそれを定義にはポイントが本当にありません、あなたの問題

LPCSTR adsf; 

void checkloc(); 

を修正するvoidとして戻り値の型を示しています。この定義は宣言としても役立ちますので、あなたの場合は行を削除することをお勧めします。checkloc();

+1

Visual Studioでコンパイルしていると仮定すると、エラーメッセージは「エラーC4430:型指定子がありません。注:C++はdefault-int'をサポートしていません。 'int'を仮定しているので、コードのエラーチェックを続け、デフォルトのintが非標準であるためコンパイルを拒否します。 –

関連する問題