typename

    1热度

    1回答

    我有一个继承基类(Base)的子类(Child),该基类以子类为模板。子类也是一个类型的模板(可以是整数或任何...),我试图在基类中访问这种类型,我尝试了很多东西没有成功...这是我的想法可能是一个有效的解决方案更紧密,但并不编译... template<typename ChildClass> class Base { public: typedef typename

    4热度

    1回答

    我正在用STL C++ 0x容器(工具链是GCC 4.7.0)调试一些C++分析器。 而且由于STL重新绑定代码是难以理解的,我需要以某种方式打印等typedef的实例化的完整链。当然,它只能解析为T&,但在它穿过__gnu_cxx和其他内部中的至少7个不同模板之前。 因此,我期待类似打印模板错误的情况,但每个类都由编译器实例化。 这可能吗? GCC插件,也许... UPD:好吧,我已经手动实例化

    1热度

    1回答

    我正在构建一个最初在微软VS(2008,我认为)中构建的Debian 6.0.6(带gcc 4.4.5)的大型项目。 什么似乎是问题是,当我声明一个成员为 typedef typename std::set<T>::iterator iterator,然后使用此迭代器,gcc似乎将此解释为(const T *)。 含有typename指定的类的部分: template <class entityT

    2热度

    1回答

    所以当我有这样的代码模板衍生类型: shared_ptr<Foo> bar (my_normal_operator<Foo>(mumble)); 即使型Foo是走出左外野,它可以作为返回类型生产仅仅通过一种“添加剂”模式是什么给出: template <typename Target, typename Source> shared_ptr<Target> my_normal_operato

    32热度

    4回答

    考虑下面的头文件: template <typename T> struct tNode { T Data; //the data contained within this node list<tNode<T>*> SubNodes; //a list of tNodes pointers under this tNode tNode(const T

    1热度

    1回答

    我收到了一个很长的错误消息。我环顾四周,这意味着我的迭代器与它正在迭代的列表不同,但它看起来与我一样! template <typename T1, typename T2> class Map { public: Map(); bool contains_key(const T1& key) const; private: T1 key

    0热度

    2回答

    变量,我想请教一下在C++中的typedef变量 好了,我现在正在使用PCL,我想代码分离到的.h和.cpp ,这里是我的.h文件 template <typename PointType> class OpenNIViewer { public: typedef pcl::PointCloud<PointType> Cloud; typedef typename Clo

    0热度

    1回答

    我在使用G ++ 4.1.2时遇到了SFINAE问题。 下面的代码工作正常为4.6: #include <stdio.h> class Test { public: int x; }; template <typename T> inline T f(T v) { return v;} // Definition #2 template <typename T>

    4热度

    4回答

    我不知道理解为什么下面的代码不编译克+ +: t.cpp: In instantiation of ‘Distrib<double>’: t.cpp:28:56: instantiated from ‘Sampler<Distrib<Solution<double> > >’ t.cpp:35:48: instantiated from here t.cpp:16:45: erreur: ‘

    3热度

    3回答

    我写了一个函数,它查找任何给定容器中最常见的元素(请参阅下面的代码),其中输入是该容器的两个const_iterator。如果我用findMostFrequent(ivec.begin(), ivec.end())来调用这个函数,其中ivec是vector<int>,编译器不能推导出模板参数。使用findMostFrequent< vector<int> >(ivec.begin(), ivec.