[英]C++ Singleton inside a namespace, how can I call methods inside?
將Singleton類放在命名空間中也許沒有意義,但是今天一位同事問這在語法上是否正確,我不知道。
// Singleton.h
namespace MySpace
{
class Singleton
{
public:
static Singleton& GetInstance()
{
static Singleton instance;
return instance;
}
void ShowMessage();
};
}
// Singleton.cpp
#include "Singleton.h"
namespace MySpace
{
void Singleton::ShowMessage()
{
std::cout << "I'm being called!";
}
}
我如何嘗試調用函數“ ShowMessage()”,但在VS2010上顯示此錯誤:錯誤C2143:語法錯誤:缺少';' 在“。”之前
// Incorrect syntax
MySpace::Singleton.GetInstance().ShowMessage();
調用ShowMessage()的正確語法是什么?
MySpace::Singleton
是一個類,因此您需要使用范圍運算符::
而不是.
訪問GetInstance
:
MySpace::Singleton::GetInstance().ShowMessage();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.