相关疑难解决方法(0)

对于嵌套模板,何时`>>`成为标准C++(而不是`>>``)?

我似乎记得,在过去的时候,>在处理嵌套模板参数时,要警告不要将两个字符紧挨着(没有空格).我甚至模糊地记得声明向量的向量,并遇到这个编译错误.

但现在我发现编译可怕的东西绝对没有错>>...

我的问题是这样的:

该公约在什么时候成为可接受的做法?

它是标准C++的一部分吗?

它是否始终是标准的一部分,我在大学里使用的编译器(以及我所拥有的教授)只是不支持它?

也许这些问题有点历史,但对我而言,正确的历史背景似乎使得实际的记忆变得微不足道.

c++ templates

26
推荐指数
1
解决办法
4114
查看次数

模板参数列表中参数1的c ++类型/值不匹配

#include <iostream>
using namespace std;

template<class T>
class people{
    public:
    virtual void insert(T item)=0;
    virtual T show(T info)=0;
};

template<class T>
class name
{
    private:
     T fname;
     T lname;
     public:
      name(T first, T last);
    //  bool operator== (name & p1, name &p2)
};
template <class T>
name<T>::name(T first, T last){
    fname = first;
    lname = last;
}
template <class T>
class person : public people<T>
{
    private:
    T a[1];
    int size;
    public:
    person();
    virtual void insert(T info);
    virtual T show(); …
Run Code Online (Sandbox Code Playgroud)

c++ templates arguments type-mismatch

5
推荐指数
1
解决办法
2万
查看次数

需要帮助理解 GCC 给出的“在嵌套模板参数列表中”错误的含义

这编译:

std::map<int, std::vector<int> > vDescriptorAtom;

这:

std::map<int, std::vector<int>> vDescriptorAtom;

给出以下错误:

src/MessageHandler.cpp:191: error: >> should be > > within a nested template argument list

这显然是因为>>是一个运算符。但是看看 GCC 抛出的错误,我无法理解它想说什么。“嵌套模板参数列表”是什么意思。谢谢。

c++ gcc stl

2
推荐指数
1
解决办法
4641
查看次数

标签 统计

c++ ×3

templates ×2

arguments ×1

gcc ×1

stl ×1

type-mismatch ×1