2016-11-29 9 views
1

私はここで多く見たエラーコードを受け取りますが、ほとんどの回答は私が持っていないヘッダーファイルの問題についてコメントしているようです?)。 sortKeyは私的な静的メンバーで、私が信じている私のセッターとゲッターにはエラーが出ます。アーキテクチャの定義されていないシンボルx86_64静的クラスメンバのエラー

bool Student::setSortKey(int userKey) { 
    sortKey = SORT_BY_LAST; 
    if(!validSortKey(userKey)) 
     return false; 
    sortKey = userKey; 
    return false; 
} 
static int getSortKey() { return sortKey; } 

とエラー...

Undefined symbols for architecture x86_64: 
    "Student::sortKey", referenced from: 
     Student::setSortKey(int) in main.o 
     Student::getSortKey() in main.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

私はしばらくの間、このことについて考えている、と私はそれはそれは間違っているが何であるかを把握することはできません。 Student ::(thats the class name?)を使用してセッター内のsortKeyを参照する必要がありますか?クラス内のすべてのメソッドは静的クラスとしても定義されています。どんな助けでも大歓迎です。あなたは

class Student { 
    // ... 
    static int sortKey; 
}; 

のような宣言は、あなたの.cppファイルにStudent::sortKeyの定義を提供していはず

+2

は、より良い質問をしてください:[MCVE]! –

答えて

2

int Student::sortKey = SORT_BY_LAST; 
関連する問題