|
|
1
4
这是故意的。编译器没有尝试解析重载 因为它们是 不 超载 功能。这个标准非常明确 (见10.2.2)。如果在两个地方发现相同的名字 不同的基础,这是一个模棱两可的问题,即使它们 你的案子)。不同类中相同的命名函数通常具有完全不同的用途,因此不应基于 想象你的C类来自A和B,还有 这两个基类来自两个不同的 对于类,它可能会通过 将调用从a::foo()重定向到B::foo(),如果 后者更合适。 如果您想以相同的方式处理这两个函数 如果是单个类的一部分,那么最好的方法就是使用 派生类中的声明。只需添加
类的声明。 |
|
|
2
2
我相信你正在运行C++的重载规则
prohibit overloading across classes
. 如果模板类是两个独立的类,每个类都有自己的类,则会得到相同的结果
解决方法是明确的
|
|
|
3
-2
编译器如何知道要调用哪个进程?有两种选择。两个都要,一个还是另一个? 您需要重写派生类中的进程。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |