Oracle Solaris Studio 12.2:C++ 用户指南

重载函数

使用标识符形式时,必须在 pragma 位置的作用域中正好有一个具有指定名称的函数。尝试将标识符形式 #pragma weak 用于重载函数会出现错误。例如:


int bar(int);
float bar(float);
#pragma weak bar        // error, ambiguous function name

要避免错误,请使用字符串形式,如以下示例所示。


int bar(int);
float bar(float);
#pragma weak "__1cDbar6Fi_i_" // make float bar(int) weak

有关更多信息,请参见 Solaris《链接程序和库指南》。