是否可以使用模板構造類型定義中的類型?例如。我想有這樣的事情:如何在模板類定義中構造自定義類型
class MyType
{
template<typename T>
someNamespace::T Convert(someOtherNamespace::T value);
};
如果模板不能從事用於此目的,這樣的聲明甚至可能嗎?
問候,Dawid
是否可以使用模板構造類型定義中的類型?例如。我想有這樣的事情:如何在模板類定義中構造自定義類型
class MyType
{
template<typename T>
someNamespace::T Convert(someOtherNamespace::T value);
};
如果模板不能從事用於此目的,這樣的聲明甚至可能嗎?
問候,Dawid
不,它不是。模板參數名稱是實際類型,而不是標識符(如果您想在名稱空間中查找,您將需要這些標識符)。
此外,我不明白這是如何特別有用。它要求兩個名稱空間包含具有相同名稱的類型,並且可以以完全通用的方式進行轉換 - 您多久會看到一次?
你能更詳細地描述你想做什麼嗎?
我必須在託管(C++/cli)和本機類型之間執行序列化。爲此,我有一個模板序列化程序類:\t'template
@dawid:你可以使用MACRO ...? – Jarod42
@ Jarod42:模板之前沒有解析宏嗎?如果是這樣,我必須使用兩種類型(從宏獲得)實例化模板函數。我想用一種類型(標識符)模板化一個函數,並在函數中執行精確的類型構造(或者如果一個類是模板化的,則爲類)。 – dawid
不能確定你想要什麼,但也許以下(使用宏)可能會有幫助:
// Assuming value is of type someOtherNamespace::identifier
#define CONVERT(identifier, value) static_cast<someNamespace::identifier>(value)
*爲什麼你要這樣做*? –