プロが教えるわが家の防犯対策術!

double *dkjiku0,*dkjiku1,*dkjiku2;
*dkjiku0=1;
*dkjiku1=2;
dkjiku2=dkjiku0/dkjiku1;
 
 を実行してみたところ、
 
 「error C2296: '/' : 無効です。左オペランドには型 'double *' が指定されています。」とエラーが出てしまいます。

 ポインタをポインタで割ることはできるのでしょうか?
 できるのならば、どのように書けばいいのでしょうか?
 宜しくお願いします。

A 回答 (5件)

>ポインタをポインタで割ることはできるのでしょうか?



できません。
ポインター同士の四則演算のうち、できるのは引き算だけです。
    • good
    • 0
この回答へのお礼

 ポインター同士の計算について勉強させて頂きありがとうございま
した。

 どうも自分が求めようとしていたのはポインターの内容の計算をどうすればいいのかのようです。
 ご回答ありがとうございます。
 

お礼日時:2008/11/26 19:23

ふつうポインタ同士の演算で、わり算をすることはありません。


どうしてそのようなことをなさりたいのでしょうか。
その辺の事情を提示されると良い回答が得られるかもしれませんよ。
    • good
    • 0
この回答へのお礼

ポインター同士の計算について勉強させて頂きありがとうございま
した。

 どうも自分が求めようとしていたのはポインターの内容の計算をどうすればいいのかのようです。
 ご回答ありがとうございました。
 

お礼日時:2008/11/26 19:23

例えば言えば、あなたの住所が 7 番地で、友人の住所が 152 番地のときに、7 番地を 152 番地で割るという演算ができますか?と聞いているようなものです。

そのような演算を定義して、その結果に何らかの意味合いを見いだすことができますか?

なお、ポインタではなくて、ポインタが指している内容(この例では double の値)同士で割り算をしたいのなら *dkjiku0 / *dkjiku1 のように記述してください。
    • good
    • 0
この回答へのお礼

dkjiku0が配列でして
*dkjiku0[0]/ *dkjiku1
としてしまったから動かなかったようです。

 dkjiku0[0]/ *dkjiku1 にしたところ動きました。

ご回答ありがとうございます。

お礼日時:2008/11/26 19:49

「ポインタをポインタで割る」ことはできません。


「ポインタの示すアドレスに格納されている内容で割る」ことはできます。

但し、
>double *dkjiku0,*dkjiku1,*dkjiku2;
>*dkjiku0=1;
>*dkjiku1=2;
>dkjiku2=dkjiku0/dkjiku1;
だけでは、すべてのポインタの指し示すアドレスが不定(領域宣言されていない)のため、
No.3氏の回答のように変更しても、どのような挙動を行うかは不定です。
    • good
    • 0
この回答へのお礼

dkjiku0が配列でして
*dkjiku0[0]/ *dkjiku1
としてしまったから動かなかったようです。

 dkjiku0[0]/ *dkjiku1 にしたところ動きました。

ご回答ありがとうございます。

お礼日時:2008/11/26 19:49

「ポインタをポインタで割る」ことの目的は?


ちなみに
*dkjiku2 = *dkjiku0/*dkjiku1;
なんてやると楽しいことが起きます.
    • good
    • 0
この回答へのお礼

dkjiku0が配列でして
*dkjiku0[0]/ *dkjiku1
としてしまったから動かなかったようです。

 dkjiku0[0]/ *dkjiku1 にしたところ動きました。

ご回答ありがとうございます。

お礼日時:2008/11/26 19:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!