C++の構造体で困っています
印刷領域のカレントポジションを原点に戻すとともに、それ以前のカレントポジションを知ろうと思い以下のようなプログラムを書きました
typedef struct {
int x;
int y;
}POINT ;
POINT MyPoint;
MyPoint.x = 9999;
MyPoint.y = 9999;
bool rtn = MoveToEx(hdc, 0, 0, MyPoint); ・・・・・(1)
MyPoint.xとMyPoint.y には9999ではなく、現在のカレントポジションが入るという単純なものです
ところが(1)のMyPointで以下のような文法エラーが発生します
ERROR "POINT"から"LPPOINT"への適切な変換関数が存在しません
色々調べましたらC++のコンパイラの設定に関連するエラーらしいです
この辺りのことは不勉強で困っております
どのように対処すれば良いかご指導願います
No.2ベストアンサー
- 回答日時:
> 色々調べましたらC++のコンパイラの設定に関連するエラーらしいです
違います。関数の呼び出し方が間違っていることを表すエラーです。
Windows 関連の C/C++ で LP~ で始まる型を見たら ~ 型のポインタを意味するものと考えてまず間違いないです。今回の場合は POINT 型のポインタを要求されているところに POINT 型そのものを渡しているために問題のエラーが発生しています。
したがって、今回の場合は
bool rtn = MoveToEx(hdc, 0, 0, &MyPoint);
としてやれば OK ……とはなりません。このコード片にはそれ以外の問題があるからです。
(1)なぜ POINT 型を自分で定義しているのでしょうか? この関数が要求しているのは windef.h で定義されている POINT 構造体のはずで、この関数を使用するために windows.h をインクルードしていれば使えるはずです。
http://msdn.microsoft.com/ja-jp/library/8kk2sy33 …
(2)この関数の戻り値の型は C++ の bool 型ではなく Windows SDK で定義されている BOOL 型です。実験してみたところ VC++ では問題なく変換できるようですが、型は合わせたほうが安心でしょう。
No.1
- 回答日時:
BOOL MoveToEx(
HDC hdc, // デバイスコンテキストのハンドル
int X, // 新しい現在の位置の x 座標
int Y, // 新しい現在の位置の y 座標
LPPOINT lpPoint // それまでの現在の位置
);
http://msdn.microsoft.com/ja-jp/library/cc410478 …
という定義ですから、
bool rtn = MoveToEx(hdc, 0, 0, MyPoint);
第4パラメーターはMyPoint(POINT型)ではなく、LPPOINTでなければなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
【C++】関数ポインタの使い方
C言語・C++・C#
-
既定のコンストラクタがありません。というエラーについて
C言語・C++・C#
-
CString から LPCTSTRの型に変換
C言語・C++・C#
-
-
4
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
5
既定のコンストラクタがない?
C言語・C++・C#
-
6
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
7
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
8
Debug Assertion Failed?
C言語・C++・C#
-
9
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
10
C++ で、「)」が必要 というエラー
C言語・C++・C#
-
11
Visual Studioのstrcpy_sについて
C言語・C++・C#
-
12
UpdateData( FALSE); による文字列データの表示更新(VC++6.0)
C言語・C++・C#
-
13
エディットボックスの入力制限について
C言語・C++・C#
-
14
cout と cerrの違い
C言語・C++・C#
-
15
charからLPTSTRへの変換方法
C言語・C++・C#
-
16
構造体のメンバをfor文で回したい
C言語・C++・C#
-
17
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
18
デバッグ中のエラーのことで教えてください。
C言語・C++・C#
-
19
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
20
CStringをwchar_tに変換したい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
バッチからsqlplusの接続エラー...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
RightとLeft関数のライブ...
-
visual C++ でビルドの中止がで...
-
Excelのエラーで困ってます。
-
WindowsからLinuxへの移植
-
fortranでプログラムを実行する...
-
ACCESSのDate関数のエラー表示...
-
LPCWSTRとchar
-
ユーザフォーム開くとエラーになる
-
visualstudioでコンパイルでき...
-
VBScriptのエラーの見つけ方及...
-
C++のコンパイラーでエラー原因...
-
visual C++ でaruduinoとシリア...
-
実行時のlibxxx.soのオープンエ...
-
sys/time.hのインクルードがで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
Excelのエラーで困ってます。
-
fortranでプログラムを実行する...
-
適切な変換関数が存在しない???
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
バッチからsqlplusの接続エラー...
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
VB2008で定数に色の設定をした...
-
ビルド失敗 指定されたファイ...
-
Handlesについて
-
RightとLeft関数のライブ...
-
エラー 'iostream.h' : No su...
-
sys/time.hのインクルードがで...
-
DLL関数を使ったプログラム
-
Visual Studioのstrcpy_sについて
-
レコードセットをcloseする所で...
-
LPCWSTRとchar
おすすめ情報