[英]How to initial “static const char * []” in class member?[C++]
當我做作業時,問題要求我完成給定的課程:
//Card.hpp
class Card {
private:
static const char* faceNames[totalFaces];
};
我在Card.cpp
編寫mycode:
const char* faceNames[Card::totalFaces] = { "Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" };
我使用VS2017來構建它,但是它表明
error LNK2001: unresolved external symbol "private: static char const * * Card::faceNames" (?faceNames@Card@@0PAPBDA)
我應該怎么做?
您可以在類外定義它,而無需指定大小。 您不必再次指定大小。 請注意::
在類外部定義成員的要求。
const char* Card::faceNames[] = { "Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" };
當您打算定義靜態成員時,意外地定義了一個不相關的數組faceNames
。 您需要使用::
符號來命名類的靜態成員:
const char* Card::faceNames[Card::totalFaces] = { "Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" };
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.