2017-02-13 1 views
-1

へのIntポインタの割り当て:「割り当ての 『int型*』から 『ダブル*』に変換できません」私は、二重にのIntポインタポイントを持っていると思いますが、次のエラーが供給していますダブル変数

セイたちあり:

double myVar1; 
int *myPointer1 = new int; 

myPointer = &myVar1; (cannot convert 'double*' to 'int*' in assignment error) 

コードを修正するにはどうすればよいですか?これは学校の割り当てのためで、私は具体的にこれらのデータ型を使用するように求められたので、私はポインタを "ダブル"にすることはできません。

+4

あなたはあなたの課題に関して何をすべきでしょうか? –

+0

1)できません。 2)あなたのコードにメモリリークがあります( 'new'に対応する' delete'がなく、 'new'で返されたポインタが失われます)。 – melpomene

+0

私は確信していますが、これは宿題に打ち間違いがあったのは初めてではありません。割り当てを完了するために、私はポインタを二重にしました。私のコードでは、対応する削除がありました。 – Andrew

答えて

2

あなたは書くことができます。

int *myPointer1 = reinterpret_cast<int *>(&myVar1); 

は、しかし、それはundefined behaviourがしようとするとdoubleにアクセスするには、このポインタを使用することになります。だから、本当にこのコードを書く必要はありません。

関連する問題