C++ 将Int指针赋给双变量

C++ 将Int指针赋给双变量,c++,pointers,casting,C++,Pointers,Casting,我希望Int指针指向double,但收到以下错误:“无法在赋值中将'double*'转换为'Int*” 假设我们有: double myVar1; int *myPointer1 = new int; myPointer = &myVar1; (cannot convert 'double*' to 'int*' in assignment error) 如何修复代码?我不能将指针设为“double”,因为这是学校作业,我被特别要求使用这些数据类型 你可以写: int *myPo

我希望Int指针指向double,但收到以下错误:“无法在赋值中将'double*'转换为'Int*”

假设我们有:

double myVar1; 
int *myPointer1 = new int; 

myPointer = &myVar1; (cannot convert 'double*' to 'int*' in assignment error)
如何修复代码?我不能将指针设为“double”,因为这是学校作业,我被特别要求使用这些数据类型

你可以写:

int *myPointer1 = reinterpret_cast<int *>(&myVar1);
int*myPointer1=reinterpret\u cast(&myVar1);

但是,使用此指针尝试访问
double
。因此,实际上没有任何理由编写此代码。

你确定你的作业应该这样做吗?1)你不能这样做。2) 您的代码包含内存泄漏(
new
没有相应的
delete
,并且
new
返回的指针丢失)。我不确定,这不是第一次在家庭作业中出现打字错误。为了完成作业,我把指针改成了双精度。在我的代码中,我确实有相应的删除。