typename

    11热度

    1回答

    我有一个好奇的问题,我不太确定问题是什么。我创建了一个名为LinkedArrayList类使用类型名模板,如下面的代码: #pragma once template <typename ItemType> class LinkedArrayList { private: class Node { ItemType* items; Node* next;

    2热度

    2回答

    我有一个名为A的类,在这个类中我有一个可迭代的容器,我按照访问规则 - 顺序,空虚和其他方法遍历。 为了简化下面的例子,让我们考虑我只是通过容器的遍历,但是这不能使用内置容器的迭代器来完成。 class A { public: class iterator { public: // Constructor iterator() { }

    1热度

    2回答

    我读的是如何在C++ typename关键字使用这种很好的总结:http://pages.cs.wisc.edu/~driscoll/typename.html 不过我想知道一个具体的例子: template<typename T> class Outer{ public: class Inner1{ T t; }; class Inner2{

    11热度

    1回答

    我试着用google搜索这个没有运气,所以我在这里尝试。 我有几个类,每个类定义一个成员struct foo。此成员类型foo本身可以继承前一类,因此自己获得成员类型foo。 我想用模板元编程(见下文)来访问嵌套foo类型,但C++名注射引入的问题,作为上部foo类型名称被注入到下foo类型,并且当我想上一个得到解决访问较低的,比如说使用A::foo::foo。 下面是一个例子: #include

    1热度

    3回答

    我必须声明Iter为typename,但不是typedef。 然后,我不能在我的templateclass声明中使用Iter =>沮丧:( 请告诉我如何使用Iter,否则解释我为什么C++是如此nasty ... template <typename T> struct MyContainer { typedef std::vector<T> Vec; typename V

    0热度

    4回答

    我想了解C++中的模板类。首先,我想了解这行的意思: template <typename T, typename Ord = columns, typename All = abc::allocator<T,16> > class matrix ,其中,列和分配器分别是结构和定义别处类(第二个命名空间中的ABC)。麻烦的是,它似乎有一个已经初始化的类型名称。这是什么意思?当我想要使用此模板

    2热度

    1回答

    是否有可能以某种方式在容器中使用类名作为关键字? 我想存储从同一个基地继承的类的对象。 struct storage {}; struct storagetransform : public storage { vec3 position, rotation; }; struct storageform : public storage { unsigned in

    0热度

    2回答

    在VS2012使用C++ 11可能会导致功能定义匹配失败,为什么这个编译: template <typename T> class Vector2 { public: Vector2(); //constructors T Dot(const Vector2<T>& U, const Vector2<T>& V); }; template <typename T>

    0热度

    1回答

    比方说,我有这样的例子模板: template<class T> class Wrapper { virtual T* ReturnPtr() = 0; }; 然后我从它继承: class Buffer; //some class class BufferWrapper : public Wrapper<Buffer> { virtual Buffer* ReturnPtr();

    1热度

    1回答

    你好,我iplementingh基于一个基础数组的二叉树。 我的项目是由一组C++文件,并生成编译生成文件。 我使用克++设有DEV-C++ 4.9.9.2。 在启动编译,我得到以下两个设置错误。 AlberoBinariov.h:在“前 '成员函数bool AlberoBinariov<T>::figlioSinistroVuoto(typename Alberoa<T, int>::posiz