-1
Это скорее вопрос любопытства, чем реальная потребность. Код ниже, и вот вопрос:Имя шаблона во время выполнения
// header file
class IRNode {
virtual void imple() =0;
}
// one and only derivative of IRNode
template<typename T>
class BaseIRNode : public IRNode {
// .. some code
void imple() {}
};
// a library function
IRNode* some_fun() {
return new BaseIRNode<int>(); // just for example, assume we dont know this!
}
// my code
IRNode* myObj = some_func();
// I wonder what template T was used to construct BaseIRNode concrete object
// how can I find that out ?
UPDATE: так что я пропустил некоторый код, чтобы сделать его более простым, но, кажется, я пропустил слишком много коды.
'BaseIRNode' этом имя шаблона для классов, а не класса. Так что ваш код просто не работает. – Deduplicator
Как написано, ваш код не компилируется. Можете ли вы уточнить, что вы действительно хотите? – Angew
«Знай, какой тип». Как вы хотите, чтобы эта информация была представлена в вашей программе? –