如何做size_t乘法

Sau*_*bh7 -3 c c++

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){
...
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

error: invalid type argument of unary ‘*’ (have ‘size_t {aka long unsigned int}’)
Run Code Online (Sandbox Code Playgroud)

那我怎么做乘法呢?之后我必须比较两个size_t.

Luc*_*ore 8

问题不是乘法,而是解除引用dim.是dim一个指针?.这是什么index < *dim意思?

此外,我认为你(错误地)假设size_t size, reshape_size;将被初始化为某种东西.因为reshape_size = reshape_size*shape[index];未定义,因为reshape_size未初始化.