- PR -

DriveInfoクラスのインスタンス化

投稿者投稿内容
ネーブル
常連さん
会議室デビュー日: 2006/08/26
投稿数: 27
投稿日時: 2006-09-06 06:45
いつもお世話になります。
DriveInfoクラスをインスタンス化する方法として、MSDN等で
コード:
DriveInfo[] allDrives = DriveInfo.GetDrives();


C#でこのような書き方がしてあるのですがC++ではどのように書いたらよいのでしょうか?

コード:
array<String^>^ allDrives = DriveInfo.GetDrives();


等色々試したのですが巧くいきません、ご教授願います。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-09-06 07:02
C# のコードのどこにも String なんて出てきていませんよね?
ネーブル
常連さん
会議室デビュー日: 2006/08/26
投稿数: 27
投稿日時: 2006-09-06 07:25
Hongliangさんお世話になります
引用:

C# のコードのどこにも String なんて出てきていませんよね?


キャストの仕方がまずいということでしょうか?
確かにDrveInfoのメンバーを見ても、NameはStringですし、TotalSizeはlong longと
型が様々ですね、この場合はどのようにしたら良いのでしょうか?
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2006-09-06 07:25
C++でstaticなメソッドを呼び出すときは,スコープ解決演算子(:を使います。
ネーブル
常連さん
会議室デビュー日: 2006/08/26
投稿数: 27
投稿日時: 2006-09-06 08:47
Kazukiさんお世話になります、
今VS2005が使えないのでトンチンカンかも知れませんが、ご勘弁ください。
コード:
DriveInfo[]::allDrives = DriveInfo.GetDrives();


こうでしょうか?
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2006-09-06 08:58
引用:

コード:

DriveInfo[]::allDrives = DriveInfo.GetDrives();




論点がまったく違いますね。

::を使うのは右辺です。
コード:

array< DriveInfo^ >^ allDrives = DriveInfo::GetDrives();


です。

というか、MSDNみればどんな値を返すかわかると思うのだけど。
DriveInfo.GetDrives メソッド
より
引用:

コード:

public:
static array<DriveInfo^>^ GetDrives ()



staticがついているので、インスタンスを介さないでも使える。
C++では クラス名::メソッド名 というように使う。

[ メッセージ編集済み 編集者: Blue 編集日時 2006-09-06 09:02 ]
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-09-06 09:00
引用:

C#でこのような書き方がしてあるのですがC++ではどのように書いたらよいのでしょうか?



ヘルプは見てないんですか?
DriveInfo.GetDrives メソッドのヘルプの「構文」欄に「まんま」書いてありますよ。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-09-06 09:06
ここは愉快なスレッドですね。

スキルアップ/キャリアアップ(JOB@IT)