我在编译时遇到上述错误,如何纠正它.请帮我解决这个问题
#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
从 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单独的吗?
有人可以帮助我创建更好的设计吗?
#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)