- Candidate Function List: 在某個呼叫點可視範圍內的所有function中,名稱相同的function所構成的集合
- 以下例子中,對f(s)這個呼叫點來說,(1)(2)(3)(4)都是candidate function:
void f(); // (1)
void f( String^ ); // (2)
void f( const string& ); // (3)
void f( String^, array^ ); // (4)
int main( array^args )
{
if ( args == nullptr )
handle_invalid_command_line();
for each ( String^ s in args )
f( s );
} - 比較特殊的是以下例子,f雖然不在CLITypes namespace中,但因其argument cobj的type在CLITypes namespace中,使得CLITypes::takeC(C^)也列在Candidate Function中:
namespace CLITypes
{
public ref class C {…};
void takeC( C^ );
}
// …
void f( CLITypes::C^ cobj )
{
// ok: calls CLITypes::takeC( C^ )
takeC( cobj );
}
星期二, 11月 28, 2006
Visual C++如何決定候選candidate function list
Stan Lippman說明VC++中如何決定candidate function list: