-6
想,我有以下程序:在哈希表的属性存储功能名称
__attribute__((annotate("ex"))) void ex() {};
void val() {};
__attribute__((annotate("foo"))) void foo() {
ex();
cout<<"You have called a function with an attribute"<<endl;
val();
cerr<<"Error!You have called a function without an attribute"<<endl;
}
int main()
{
foo();
return 0;
}
如果你注意观察,主要的()调用foo()和Foo()又调用前()和val( )。当ex()被调用时,没有问题,因为它有一个与它相关的属性,但是当它调用val()时,它应该显示错误消息,指出这个函数没有任何属性。
因此,为此,我需要跟踪哈希表中没有属性且没有属性的函数,并在函数被调用时检查它。
而且,我不知道如何做到这一点?我希望现在清楚。
为什么你需要这样做?编译器应该告诉你是否重新声明了一个函数。 – NathanOliver
@NathanOliver:我正在编译这个原因 – pavikirthi
阅读[符号表](https://en.wikipedia.org/wiki/Symbol_table)并实施一个。 – Shreevardhan