[英]C++17: Defining static constexpr member functons in .cpp file
[英]Defining a static member in .cpp file which requires access to private struct
因此,要聲明類的靜態成員,必須在.cpp文件中對該成員進行定義,以避免未解決的外部鏈接器錯誤。 我的問題是我的靜態成員需要定義一個私有結構,該私有結構對.cpp文件中的我的靜態成員不可用。
//foo.h
class A
{
public:
...
private:
struct B
{
...
};
class C
{
public:
...
private:
static std::vector<std::shared_ptr<B>> someVector;
} D;
};
您應該在cpp文件中聲明矢量,如下所示:
std::vector<std::shared_ptr<A::B>> A::C::someVector;
struct B
在class A
之外是未知class A
因此必須在全局范圍內將其引用為A::B
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.