星期五, 12月 18, 2009

c++的*&

當函數的 argument 宣告成 *& 時,該怎麼傳呢?
答案是要轉型一下,以下面例子來說,就是要用 (char*&) 轉型過,這樣編譯器就不會吐錯誤訊息給你啦~

#include <iostream>

int f( char*& s )
{
printf(">> %s\n", s );
}

int main( int argc, char* argv[] )
{
char* s="Hello world!!";
f( (char*&)s ); // 要這麼轉!
}

沒有留言: