Когда я выполняю следующее с предупреждающими флагами, я получаю предупреждение о преобразовании типов.
#include <boost/multi_array.hpp>
void function (boost::multi_array<unsigned char, 2> matrix) {
int nrows = matrix.shape()[0];
int ncols = matrix.shape()[1];
}
См. предупреждающее сообщение ниже. Означает ли это, что я неявно преобразую "длинное беззнаковое int" в обычное "int"?
Если это так, я думаю, что это то, что я хочу (нужно выполнить вычисления с помощью nrows, ncols впоследствии), и как бы я сделал преобразование явным?
image.cpp:93:32: warning: conversion to ‘int’ from ‘boost::const_multi_array_ref<float, 2ul, float*>::size_type {aka long unsigned int}’ may alter its value [-Wconversion]
int nrows = matrix.shape()[0];