3

以下のコードに問題があります:

ProgrammSettings.h

#pragma once
static class ProgrammSettings
{
public:
    static int fd;
};

Settings.cpp

#include "ProgrammSettings.h"

static bool LoadSettings()
{
    ProgrammSettings::fd = 2; // here error Unresolved symbol!!
    return true;
}

私が間違っているのは何ですか?ありがとう!

4

3 に答える 3

7

宣言のみを必要とするインスタンス変数とは異なり、クラスの静的メンバー変数も定義する必要があります。

現在、コードには宣言のみが含まれています。エラーを修正するには、静的変数の定義をcppファイルに追加します。fd

int ProgrammSettings::fd;
于 2012-12-01T13:43:58.400 に答える
2

cppファイルの先頭に次の行を追加する必要があります

 int ProgrammSettings::fd;
于 2012-12-01T13:44:21.883 に答える
1

クラス宣言の静的データメンバー宣言はそれらの定義ではありません。の宣言と一致するように定義を追加するのを忘れましたfd
クラスの静的データメンバーを明示的に定義する必要があります。

于 2012-12-01T13:45:27.277 に答える