【发布时间】:2016-04-27 09:23:03
【问题描述】:
有一些类,它们的关系如下:
class X:A,B
class Y:A,B
class Z:A,B
我想使用模板将从 A 和 B 继承的通用类型传递给 testFunction。我的代码如下:
template<template T:public A, public B>
void testFunction(T generalType)
{
//do something
}
但我的编译器告诉我这是错误模板。我该如何解决?
【问题讨论】:
-
重新打开了这个 - 假设的副本是关于一个 class。但与类不同,函数具有重载。这意味着您希望从重载集中排除特定函数,而不是让它们在重载决议中被选中,然后在稍后中断。
-
为什么不直接写
template<template T>看看是否可行。我不知道你的应用程序是如何工作的,但它可能没问题。你还有其他函数叫testFunction吗? -
@MSalters @Aaron McDaid @songyuanyao。感谢您的所有耐心和仔细的回答。在您的帮助下,我的代码通过了编译阶段。我从你们所有人那里学到了很多,