小编kni*_*ils的帖子

错误:类型为'bar <int>&'的参数的默认参数有类型'bar <int>'

我在编译时遇到上述错误,如何纠正它.请帮我解决这个问题

#include <iostream>
using namespace std;

template <typename T>
class bar
{
 public:
 bar(){cout << "bar" <<"\n";}
};

template <typename T, typename ctor = bar<T>>
class foo
{
 T i;
public:
 explicit foo(ctor& c = ctor());
private:
 ctor mctor;


};

template <typename T, typename ctor>
foo<T,ctor>::foo(ctor& c):mctor(c)
{
 cout << "foo" <<"\n";
}

int main()
{
 foo<int> f;
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译:g ++ -std = c ++ 11 ctor_call.cpp

c++ templates c++11

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

单个键具有多个值的 STL 集合

从 sql 我有一个输出:

id值
第123话
第124话
124 年
第125话

我在 C++ 代码中处理这个输出,我想使用 123、125 个 ids(唯一)和 124,它们分别具有多个值。

基本上,我想分别存储唯一的和多值的 id,然后想分别检索它们。

我可以使用任何 stl 容器。

说 container1 存储唯一值

第123话
第125话

容器 2

第124话
124 年

在地图中,我可以拥有唯一的键值对:(123->xxx),(125->xxx)124->xxx,yyy单独的吗?

有人可以帮助我创建更好的设计吗?

c++ stl

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

向量内存分配调用复制构造函数与push_back函数

#include <vector>
#include <iostream>
#include <iterator>

using namespace std;

class MoveableClass
{
public:
        MoveableClass() {
                cout << "Default constructor" << endl;
        }
        MoveableClass(const MoveableClass& src) {
                cout << "Copy constructor" << endl;
        }
        MoveableClass(MoveableClass&& src) {
                cout << "Move constructor" << endl;
        }
        MoveableClass& operator=(const MoveableClass& rhs) {
                cout << "Copy assignment operator" << endl;
                return *this;
        }
        MoveableClass& operator=(MoveableClass&& rhs) {
                cout << "Move assignment operator" << endl;
                return *this;
        }
};

int main()
{
    vector<MoveableClass> vecSource(3);
    cout << …
Run Code Online (Sandbox Code Playgroud)

c++ constructor c++11

0
推荐指数
1
解决办法
1375
查看次数

标签 统计

c++ ×3

c++11 ×2

constructor ×1

stl ×1

templates ×1