Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 推导出;“外部类”;具有模板参数推断的类的 类组件_Base{}; 类Rect_Component:Component_Base { 公众: 结构信息 { 单位宽度; 单位高度; }; }; 模板 ECSData类 { 私人: 元组数据; 公众: 模板 作废createEntity(信息和…信息){ } }; int main() { ECSData ECSData; createEntity(Rect_组件::Info{.width{200}、.height{500}); 返回0; }_C++ - Fatal编程技术网

C++ 推导出;“外部类”;具有模板参数推断的类的 类组件_Base{}; 类Rect_Component:Component_Base { 公众: 结构信息 { 单位宽度; 单位高度; }; }; 模板 ECSData类 { 私人: 元组数据; 公众: 模板 作废createEntity(信息和…信息){ } }; int main() { ECSData ECSData; createEntity(Rect_组件::Info{.width{200}、.height{500}); 返回0; }

C++ 推导出;“外部类”;具有模板参数推断的类的 类组件_Base{}; 类Rect_Component:Component_Base { 公众: 结构信息 { 单位宽度; 单位高度; }; }; 模板 ECSData类 { 私人: 元组数据; 公众: 模板 作废createEntity(信息和…信息){ } }; int main() { ECSData ECSData; createEntity(Rect_组件::Info{.width{200}、.height{500}); 返回0; },c++,C++,在上面的代码中,我将Rect_Component::Info传递给createEntity()。 给定上面的代码,可以在createEntity()中让模板参数推断出T::Info中的T是什么,并使用所述的T? 毕竟我在调用中编写了Rect_Component,所以我怀疑一定有办法考虑: struct Not_Rect_Component { using Info = Rect_Component::Info; }; 这与原始Rect_组件提供的Info无法区分,因此无法推断其中一个。

在上面的代码中,我将
Rect_Component::Info
传递给
createEntity()
。 给定上面的代码,可以在
createEntity()
中让模板参数推断出
T::Info
中的
T
是什么,并使用所述的T? 毕竟我在调用中编写了
Rect_Component
,所以我怀疑一定有办法考虑:

struct Not_Rect_Component {
    using Info = Rect_Component::Info;
};
这与原始
Rect_组件提供的
Info
无法区分,因此无法推断其中一个。您必须在
Info
中提供一个typedef,它引用正确的父类型。

“在
Info
中提供一个typedef”。或者是一种外在类型的特质。