如果我想創建一個函數模板,在模板參數未在參數列表中使用,我正是如此做:操作模板
template<T>
T myFunction()
{
//return some T
}
但調用必須指定「T '使用,因爲編譯器不知道如何解決。
myFunction<int>();
但是,假設我想做類似的事情,但對'[]'操作符。 模板
T SomeObject::operator [ unsigned int ]
{
//Return some T
}
有什麼辦法可以調用這個操作符嗎? 不出現有效:
SomeObject a;
a<int>[3];
不錯,我不知道你能做到這一點!但是,這樣做會挫敗使用操作符超負荷的好處。 – Scott 2009-08-14 06:58:44
確實。通常它會被重命名爲'get()'。 – GManNickG 2009-08-14 07:04:38
是否運算符[]應該返回一個引用? – navigator 2009-08-14 08:28:27