代码如下.我的D类中有一个单独的函数f()和一个函数f(int),那么如果两个函数都有不同的参数,为什么该调用不明确?
struct A {
void f() {}
};
struct B: virtual A {
void f(int i) {}
};
struct C: virtual A {
void f() {}
};
struct D: B, C {
};
int main()
{
D d;
d.f(5); //ambiguous
}
Run Code Online (Sandbox Code Playgroud) 我正在使用GPROF在Ubuntu 17.10上进行一些c文件测试,当我使用gprof执行生成的文件(gmon.out),使用-pg选项进行编译和链接时,我得到了一个空的平面图和调用图。然而,我发现这是一个错误的gcc和我将不得不编译和文件与-no馅饼链接。
编译:gcc的-c的main.c文件1.C文件2.C -pg [-no馅饼]
链接:gcc的-o测试main.o文件1.O文件2.O -pg [-no馅饼]
我有gcc 7.2版本。
此选项如何工作?如果我不使用该选项,为什么图形为空?
c ×1
c++ ×1
class ×1
gcc ×1
gprof ×1
inheritance ×1
polymorphism ×1
profiling ×1
testing ×1
virtual ×1