Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:表达式不可赋值C++;结构 我在C++中编写了一个普通的带宽内核,它是从主机内存读取的东西,并把它写入主机的不同位置。 我使用的是结构,其中一个元素是输入和输出缓冲区的地址。高级合成工具在下面代码的最后一行给出错误 struct addr_struct { ap_uint<64> address; ap_uint<32> size; ap_uint<16> type; ap_uint<16> flags; }; struct addr_struct CA_INPUT; struct addr_struct CA_OUTPUT; din_mem = 0x00; dout_mem = 0x00; ap_uint<32> i; ap_uint<512> temp; ap_uint<512> *din_mem; ap_uint<512> *dout_mem; for(i=0; i<2048; i++){ temp= (ap_uint<512> *)(din_mem + CA_INPUT.address + i*64); (ap_uint<512> *)(dout_mem + CA_OUTPUT.address + i*64) = temp;} struct addr\u struct{ 地址; 单位面积; ap单元类型; 国旗; }; 结构addr\u结构CA\u输入; 结构addr\u结构CA\u输出; din_mem=0x00; dout_mem=0x00; ap_uint i; ap单元温度; ap_uint*din_mem; ap_uint*dout_mem; 对于(i=0;i_C++_Struct_Vivado Hls - Fatal编程技术网

错误:表达式不可赋值C++;结构 我在C++中编写了一个普通的带宽内核,它是从主机内存读取的东西,并把它写入主机的不同位置。 我使用的是结构,其中一个元素是输入和输出缓冲区的地址。高级合成工具在下面代码的最后一行给出错误 struct addr_struct { ap_uint<64> address; ap_uint<32> size; ap_uint<16> type; ap_uint<16> flags; }; struct addr_struct CA_INPUT; struct addr_struct CA_OUTPUT; din_mem = 0x00; dout_mem = 0x00; ap_uint<32> i; ap_uint<512> temp; ap_uint<512> *din_mem; ap_uint<512> *dout_mem; for(i=0; i<2048; i++){ temp= (ap_uint<512> *)(din_mem + CA_INPUT.address + i*64); (ap_uint<512> *)(dout_mem + CA_OUTPUT.address + i*64) = temp;} struct addr\u struct{ 地址; 单位面积; ap单元类型; 国旗; }; 结构addr\u结构CA\u输入; 结构addr\u结构CA\u输出; din_mem=0x00; dout_mem=0x00; ap_uint i; ap单元温度; ap_uint*din_mem; ap_uint*dout_mem; 对于(i=0;i

错误:表达式不可赋值C++;结构 我在C++中编写了一个普通的带宽内核,它是从主机内存读取的东西,并把它写入主机的不同位置。 我使用的是结构,其中一个元素是输入和输出缓冲区的地址。高级合成工具在下面代码的最后一行给出错误 struct addr_struct { ap_uint<64> address; ap_uint<32> size; ap_uint<16> type; ap_uint<16> flags; }; struct addr_struct CA_INPUT; struct addr_struct CA_OUTPUT; din_mem = 0x00; dout_mem = 0x00; ap_uint<32> i; ap_uint<512> temp; ap_uint<512> *din_mem; ap_uint<512> *dout_mem; for(i=0; i<2048; i++){ temp= (ap_uint<512> *)(din_mem + CA_INPUT.address + i*64); (ap_uint<512> *)(dout_mem + CA_OUTPUT.address + i*64) = temp;} struct addr\u struct{ 地址; 单位面积; ap单元类型; 国旗; }; 结构addr\u结构CA\u输入; 结构addr\u结构CA\u输出; din_mem=0x00; dout_mem=0x00; ap_uint i; ap单元温度; ap_uint*din_mem; ap_uint*dout_mem; 对于(i=0;i,c++,struct,vivado-hls,C++,Struct,Vivado Hls,我假设您希望分配给dout\u mem中的指针,因此(ap\u uint*)之前缺少解引用(请注意开头的星号): *(ap\u uint*)(dout\u mem+CA\u OUTPUT.address+i*64)=温度; *(ap_uint<512> *)(dout_mem + CA_OUTPUT.address + i*64) = temp;

我假设您希望分配给
dout\u mem
中的指针,因此
(ap\u uint*)
之前缺少解引用(请注意开头的星号):

*(ap\u uint*)(dout\u mem+CA\u OUTPUT.address+i*64)=温度;
*(ap_uint<512> *)(dout_mem + CA_OUTPUT.address + i*64) = temp;