我有一個類似::靜態函數調用非靜態函數在C++
Class Test
{
public:
void Check(){//dosomething};
static void call(){//I want to call check()};
};
由於呼叫()是一個靜態成員,所以它不能調用非靜態功能,所以我想使用call()中的Check()是爲了創建Test指針,然後指向Check(),但我認爲它不好,有沒有更好的方法來做到這一點? 我可以重寫靜態函數中的所有東西,所以我不需要再次調用Check(),但我想要的是重用Check()中的代碼並避免重複的代碼。
目前尚不清楚你想要做什麼。你可以想出一百萬種用語言來破解它的方法,但最終你在這種情況下的原因是你的需求沒有意義。 'call'中沒有對象上下文。你爲什麼認爲你需要這樣做? –
爲什麼不聲明'檢查'一個靜態函數? –
您需要'class test'的實例來調用任何非靜態函數(即'this'指針)。 – mark