小编Bri*_*ian的帖子

显式设置指针的值

我正在编写一个mex文件(使用C++),它接受一个内存地址作为输入,并对该内存地址的数据进行操作.因为我被迫使用MATLAB作为我的环境,我的程序只能接受MATLAB数据类型作为输入(char,bool,float,double和int).如何将输入值分配给指针?

伪代码:

// Outside of program
// double input_arg = hex2dec('00C2E4E8')

double *pointer;
pointer = (double *)input_arg;
// pointer == hex2dec('00C2E4E8')
Run Code Online (Sandbox Code Playgroud)

基本上,这可以看作是我硬编码指针的值类似于:

double *pointer = (double *)hex2dec('00C2E4E8');
Run Code Online (Sandbox Code Playgroud)

我收到错误:

错误C2440:'=':无法从'double'转换为'double*'

我也尝试过使用static/const/reinterpret/dynamic_cast,但我真的不明白它们是如何工作的(我无法让它们工作).是否可以手动为指针分配内存地址值?

c c++ matlab pointers mex

7
推荐指数
4
解决办法
901
查看次数

标签 统计

c ×1

c++ ×1

matlab ×1

mex ×1

pointers ×1