size_t size, reshape_size;
size = somemethod()
for (size_t index = 0; index < *dim; ++index)
reshape_size = reshape_size*shape[index];
if (reshape_size == size){
...
我收到错误
error: invalid type argument of unary ‘*’ (have ‘size_t {aka long unsigned int}’)
那么如何进行乘法?之后我必须比较两个size_t。
答案 0 :(得分:8)
问题不是乘法,而是取消引用dim
。 dim
是指针吗? 否即可。什么是index < *dim
应该是什么意思?
另外,我认为你(错误地)假设size_t size, reshape_size;
将被初始化为某种东西。由于reshape_size = reshape_size*shape[index];
未定义,因为reshape_size
未初始化。