【发布时间】:2017-01-30 15:19:55
【问题描述】:
作为我的自定义对象系统的一部分,我希望有一个 Container 类,它只包装第三方对象,以便它们可以集成到我的容器系统中。
假设我有以下第三方对象,
class Point {
public:
int x;
Point(int y = 0) : x(y) {}
int value() { return x; }
};
容器类,
template <typename T, typename... Args> class Container{
T dat;
public:
Container(const Args &... args) { dat = T(args...); }
T data() { return dat; }
};
我正在尝试提供以下api,
Container<Point> v = Container<Point>(1);
我正在尝试将传递给值构造函数的参数直接传递给类型 T 构造函数。
编辑:我收到编译器错误candidate expects 0 arguments, 1 provided errors
【问题讨论】:
-
那么...您面临什么问题?
-
Container() 构造函数??!!不应该是 Value()?
-
@Quentin 我不工作。我收到一堆
candidate expects 0 arguments, 1 provided错误 -
@chedynajjar 正确复制/粘贴错误已修复。
-
@HamzaYerlikaya 请在您的问题中包含确切的错误,以及足够的代码来重现它们。