- PR -

MFCからC++への変換

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/06/02
投稿数: 11
投稿日時: 2007-01-06 21:10
MFCで作成されている下記のFoo.hをアンマネージドのコードに変換しようと思うのですが
キャストで上手に行かない部分があります、よろしくおねがいします。
行ったことは
コード:
1.
#include "windows.h"を追加

2.
protected:
  CString strT;
  CString strH;
  CString strU;
  CString strP;
↓
protected:
  const char* strT;
  const char* strH;
  const char* strU;
  const char* strP;
以上なのですが、

return strH;
return strT;
return strU;
return strP;
ここの部分で、C スタイル キャストまたは関数スタイルのキャストが必要です。とエラーが出ます、
どのようにしたら良いでしょうか?

以下Foo.hです。
#pragma once

class FooData
{
public:
  FooData(void);
  FooData(LPCTSTR lpName,DWORD dwSize,LPBYTE lpData);
public:
  ~FooData(void);
protected:
  CString strT;
  CString strH;
  CString strU;
  CString strP;
public:
  LPCTSTR GetH(void)
  {
    return strH;
  };

  LPCTSTR GetT(void)
  {
    return strT;
  };

  LPCTSTR GetU(void)
  {
    return strU;
  };

  LPCTSTR GetP(void)
  {
    return strP;
  };
public:
  static GUID Guid(void);
public:
  static GUID SubGuid(void);
};

未記入
大ベテラン
会議室デビュー日: 2005/03/12
投稿数: 148
投稿日時: 2007-01-06 22:33
単なる質問の確認です。

コード:
class FooData
{
―省略―
protected:
  const char* strT;
―省略―
public:
―省略―
  LPCTSTR GetT(void)
  {
    return strT;
ここで、
C スタイル キャストまたは関数スタイルのキャストが必要です。
とエラーが出るの?
  };
―省略―
};



UNICODEなのかMBCSなのか使い分けるべきです。
[list]
[*] const char *
[*] LPCTSTR
[*list]
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-01-06 22:56
本題とは関係ありませんが…

引用:

MFCで作成されている下記のFoo.hをアンマネージドのコードに変換しようと思うのですが



MFC 「も」アンマネージ(用のフレームワーク)です。

用語は正しく使いましょう ;-p


_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/

[ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2007-01-06 22:56 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-01-07 07:48
ご参考:
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=9475
_________________
未記入
会議室デビュー日: 2006/06/02
投稿数: 11
投稿日時: 2007-01-07 16:25
みなさんお世話になります。

未記入大ベテランさん
引用:

ここで、
C スタイル キャストまたは関数スタイルのキャストが必要です。
とエラーが出るの?


はい、そこで出ていましたが、コンパイルスイッチの文字セットをマルチバイト文字に
変更したら、出なくなりました、Programming Windows 第5版UNICODEの部分を
もう一度、読み直してその変更だけで大丈夫か否かもう少し考えてみます。

渋木宏明(ひどり)さん
引用:

用語は正しく使いましょう ;-p


(´・ω・`) ノ

Jittaさん
参考になりました、ありがとうございます。
1

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