我有以下結構的代碼:爲什麼我們可能想要在方法之前放置類名?
aaa::bbb<ccc>
ccc::func_name(type1 arg1, type2 arg2)
{
something1;
aaa::bbb<ccc> obj_name(variable);
something2;
}
它類似於函數模板,但在函數模板,我們應該把template <class class_name>
的方法之前。
我有以下結構的代碼:爲什麼我們可能想要在方法之前放置類名?
aaa::bbb<ccc>
ccc::func_name(type1 arg1, type2 arg2)
{
something1;
aaa::bbb<ccc> obj_name(variable);
something2;
}
它類似於函數模板,但在函數模板,我們應該把template <class class_name>
的方法之前。
aaa::bbb<ccc>
是返回值類型ccc::func_name()
。
你的意思是這樣的:
std::vector<Point>
Point::func_name(type1 arg1, type2 arg2)
{
something1;
std::vector<Point> obj_name(variable);
something2;
}
它是返回這恰好是一個模板類的實例另一個對象的方法的正常申報。有人顯然認爲它比
std::vector<Point> Point::func_name(type1 arg1, type2 arg2) {...}
更可讀的,這意味着完全相同
冒號缺少... – Dialecticus 2013-03-13 12:36:54
可能是。哪裏? – 2013-03-13 12:37:31
@ZdeslavVojkovic我已經爲你修好了 – 2013-03-13 12:37:42
'bbb'被一個叫做'aaa'類或命名空間中定義的。在最近的C++教科書中查找範圍解析運算符'::'。 – 2013-03-13 12:35:25
它看起來像是類「ccc」的類成員'func_name'的定義,返回模板類'bbb',其中在類或名稱空間'aaa'中定義了替代'ccc'。你是否缺少冒號'ccc:(here)func_name'? –
kassak
2013-03-13 12:37:45
冒號添加.... – Dialecticus 2013-03-13 12:42:49