-1
我如何傳遞一個模板類this指針指向這個類,即成員函數我如何傳遞一個模板類「這個」成員函數指針
template <typename T>
class A
{
....
process(A<T>* a) {};
someOtherFunction() {process(this)};
....
}
我如何傳遞一個模板類this指針指向這個類,即成員函數我如何傳遞一個模板類「這個」成員函數指針
template <typename T>
class A
{
....
process(A<T>* a) {};
someOtherFunction() {process(this)};
....
}
像這樣:
template <typename T>
class A
{
static void process(A* a) {}
void someOtherFunction() {process(this)};
}
您不需要指定T
,並且process
可以是static
,因爲它明確地通過了this
。但你可以讓它隱含地發生:
template <typename T>
class A
{
void process() { A* a = this; }
void someOtherFunction() {process()};
}
我真的不明白你的問題是什麼。例如,你能否說明如何在沒有模板的情況下做到這一點? –
'this' ia總是隱式傳遞給非靜態成員函數。 –
由於只是調用同一個對象的成員函數會自動「傳遞」這個'',所以你不知道你想做什麼。你的意思是你想在'A'類的另一個*對象中調用'process'嗎?另一個帶有另一個「T」的對象?你能否試着創建一個[最小,完整和可驗證的例子](http://stackoverflow.com/help/mcve)向我們展示,展示你想如何使用這個函數? –