C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 42 を表示中)
■22392 / )  Re[1]: 外部ファイルのアクセッサが値を保持しない
□投稿者/ 渋木宏明(ひどり) (828回)-(2008/07/22(Tue) 23:11:56)
渋木宏明(ひどり) さんの Web サイト
> 何がいけないんでしょうか?教えてください。

もっそ基本的なトコが理解できてないようです。

> コンストラクタ
> {
> Csankaku sankaku;
> CPoint point = ( 100, 200 );
> sankaku.setpoint( point );
> }



> OnDraw( )
> {
> Csankaku sankaku;
> CPoint point = sankaku.getpoint();
> }

において、Csankaku 型の変数 sankaku はローカル変数として宣言されています。

ローカル変数は、その変数を宣言したスコープ内でのみ有効です。

コンストラクタと OnDraw() の2か所で同名の Csankaku 型の変数を宣言したとしても、両者は「同じ型」という性質こそ共通ですが、モノとしては全くの別物です。

コンストラクタ内で宣言した sankaku が内包する値が、OnDraw() で宣言した sankaku にまで持ち越されることはありません。

# 方法がないわけではありませんが、原則として

でわどうするか、というと、この場合は xxxxView クラスのメンバ変数として Csankaku sankaku を配置するのが素直な解決のように思います。



返信 編集キー/


管理者用

- Child Tree -