繁体   English   中英

C ++:从类返回模板对象,模板类型不匹配?

[英]C++: Returning a templated object from a class, template type mismatch?

我有以下带有编译器错误的源代码。 很明显,我正在尝试这样做,因此我不会尝试解释,只是说返回的node<N>*类型不是正确的类型,因为它是模板,因此与session*对象产生冲突。 继承人的错误。

linked_list_1.cpp|17|error: cannot convert 'node<session*>*' to 'session*' in assignment|

在第17行中,您想将return_node的返回值分配给session* ,但是return_node的返回类型是Node<N>*Node<Session*>* )而不是Nsession* )。 将访问器函数添加到节点类,并使用它来访问数据成员,例如:

session* SESSION_COPY;
SESSION_COPY =  LIST->return_node(0)->getData();

因为return_node函数返回node<N>*而不是N 或用模板参数替换N时: return_node返回node<session*>* (在头文件中查看),但是您尝试将返回的指针分配给session*变量。 就像错误消息非常清楚地指出的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM