dポイントプレゼントキャンペーン実施中!

C言語で
#include<stdio.h>
#include<windows.h>
#include<wtsapi32.h>
#include <process.h>
int main(){
/*ハンドルをオープンする*/
/*NetBIOS名は16文字以下*/

char name[16]="NetBIOSname";
char *p;
p= name;
printf("%p\n",name);
HANDLE handle;
HANDLE = WTSOpenServer(&p);
printf("%p",handle);

}
でやると'HANDLE' : typedef 識別子に、クラス メンバ アクセス演算子 (->) を使用しました。とエラー
がでてきます、どこがおかしいかわからないです

C++で実行するとできました。
#include<stdio.h>
#include<windows.h>
#include<wtsapi32.h>
#include <process.h>


int main(){
/*ハンドルをオープンする*/
/*NetBIOS名は16文字以下*/

char name[16]="NetBIOSname";
char *p;
p= name;
printf("%p\n",name);

HANDLE handle = WTSOpenServer((LPSTR)&p);
printf("%p",handle);
}
どこが原因になってるのか教えてください。

A 回答 (3件)

> HANDLE handle;


> HANDLE = WTSOpenServer(&p);
ではなく
handle = WTSOpenServer(&p);
では?
    • good
    • 0
この回答へのお礼

ありがとうございました、直りました

お礼日時:2005/05/30 18:53

問題がいくつかあります。


まず、Cでは変数宣言は { の直後でしかできません。
p= name;の実行文の後ろで HANDLE handle;が宣言されているので、このエラーになります。
次に、 HANDLE = WTSOpenServerは、handle = WTSOpenServerの間違いですね。
ちなみに、WTSOpenServerへのNetBIOS名はこのプログラムのサーバ名で良いのであれば、NULLが指定できます。
    • good
    • 1

>HANDLE = WTSOpenServer(&p);



文法違うでしょ(^^;;
handle= WTSOpenServer(&p);

HANDLEは型なんですから。
変数に突っ込んで。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A