クラスへのポインタのポインタ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ちゅん

クラスへのポインタのポインタ

#1

投稿記事 by ちゅん » 16年前

こんにちは、久しぶりの投稿となります。
クラスへのポインタのポインタを用いてメンバにアクセスしたいのですが、
どうしたらいいのか分かりません…。

要するに
class hoge
{
public:
int a;
};
として、

hoge *b = new hoge;
hoge **c;
c = &b;
としたときに、cを用いてポインタbの指すクラスのメンバaにアクセスしたいのです。

c->aと試してみても、
error C2227: '->useParam' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。
と出て、コンパイルできませんし、ネットでも調べてみましたが分からずじまいです。

どうかご存知の方がいらっしゃいましたら、ご教授願えますでしょうか。

toyo

Re:クラスへのポインタのポインタ

#2

投稿記事 by toyo » 16年前

(*c)->a
でアクセスできるのでは

御津凪

Re:クラスへのポインタのポインタ

#3

投稿記事 by 御津凪 » 16年前

ポインタのポインタからアクセスするなら、 "(*c)->a" で可能です。
これは、"(*c)" で参照元のポインタにしてから "->a" で参照する意味です。

ちなみに、
(*(*c)).a
でもアクセスできます。
また、
hoge*** d = &c;
なら、
(*(*d))->a
でアクセスできます。

ちゅん

Re:クラスへのポインタのポインタ

#4

投稿記事 by ちゅん » 16年前

toyoさん、御津凪さん、ありがとうございます!
おかげで無事コンパイルできました!!

閉鎖

“C言語何でも質問掲示板” へ戻る