Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CreateProcess 之 Error....

0 views
Skip to first unread message

月兒

unread,
Nov 28, 1996, 3:00:00 AM11/28/96
to

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....

:)
--

迷糊蛋過一輩子 聰明蛋也只過一輩子呀!!

聰明蛋很快樂 迷糊蛋可能更快樂說!!
--
※ Origin: 楓橋驛站(bbs.cs.nthu.edu.tw) ◆ From: 140.123.211.45

四眼的王蟲

unread,
Nov 29, 1996, 3:00:00 AM11/29/96
to

Sunni...@bbs.cs.nthu.edu.tw (月兒) wrote:

>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* 才會如此, 再檢查一下吧.

四眼的王蟲

--
生命是在黑暗中閃爍的光

sw

unread,
Nov 29, 1996, 3:00:00 AM11/29/96
to

==> 在 Sunni...@bbs.cs.nthu (月兒) 的文章中提到:

> 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()的原型定義為 char *, 而你所給它的
是const char *, 這樣的話會"危害"到你所傳入的參數.
因為如果C++允許你將 const char *轉型為 char *的話,
那你原來宣告為 const 的變數就有可能被更改了.
所以C++不允許這樣的轉型.
你可以試著改傳一個為 char *的參數給CreateProcess().
�--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

0 new messages