請問一下關於CreateProcess....
原本在VC++2.0 如此寫
PROCESS_INFORMATION pi;
CreateProcess(..... ,&pi);
compile 完全沒問題...
但是到了 VC++4.0
compiler 卻說 在 &pi 的地方
" error C2664: 'CreateProcessA' : cannot convert parameter 2 from
'const char *' to 'char *' (new behavior; please see help) "
請問高手 我該怎麼辦呢?? Thanks so much....
:)
--
迷糊蛋過一輩子 聰明蛋也只過一輩子呀!!
聰明蛋很快樂 迷糊蛋可能更快樂說!!
--
※ Origin: 楓橋驛站(bbs.cs.nthu.edu.tw) ◆ From: 140.123.211.45
>Hi, friends....
>
> 請問一下關於CreateProcess....
> 原本在VC++2.0 如此寫
> PROCESS_INFORMATION pi;
> CreateProcess(..... ,&pi);
> compile 完全沒問題...
> 但是到了 VC++4.0
> compiler 卻說 在 &pi 的地方
> " error C2664: 'CreateProcessA' : cannot convert parameter 2 from
> 'const char *' to 'char *' (new behavior; please see help) "
> 請問高手 我該怎麼辦呢?? Thanks so much....
依錯誤訊息來看, 不對的地方是 CreateProcess 的第二個參數
LPTSTR lpCommandLine 為何妳說問題是在 pi 這裡?
lpCommandLine 的 type 是 LPTSR, 可能妳傳入的參數的 data type
是 const char* 才會如此, 再檢查一下吧.
四眼的王蟲
--
生命是在黑暗中閃爍的光
我想你的問題在於第二個參數的型別錯了.
CreateProcess()的原型定義為 char *, 而你所給它的
是const char *, 這樣的話會"危害"到你所傳入的參數.
因為如果C++允許你將 const char *轉型為 char *的話,
那你原來宣告為 const 的變數就有可能被更改了.
所以C++不允許這樣的轉型.
你可以試著改傳一個為 char *的參數給CreateProcess().
�--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>