【发布时间】:2013-12-19 02:23:38
【问题描述】:
所以我实际上是在尝试将参数包的 rtti 推入 type_info* 列表中。但是由于某种原因,它似乎没有编译(或者编译器中途放弃了)。无论哪种方式,我似乎都无法弄清楚。有没有人有办法解决这个问题,或者更好的是,知道它为什么会坏?任何人,这是代码:
#pragma once
#include <typeinfo>
#include <vector>
class ParamChecker
{
public:
typedef std::vector<const type_info*> Types;
template <typename T> void PushType()
{
types.push_back(&typeid(T));
}
template <typename Head, typename... Tail> void PushTypes()
{
PushType<Head>();
PushTypes<Tail...>();
}
void PushTypes() {}
private:
Types types;
};
提前致谢!
【问题讨论】:
-
你用的是什么编译器?
-
Visual Studio 2013,不太确定确切的版本。
-
什么意思,破坏编译器?编译器会崩溃吗?
-
总是复制并粘贴错误消息并发布它们,以便其他人看到它们与您看到的完全一样。
标签: visual-studio templates c++11 rtti variadic