Cuando yo ejecute el siguiente con las banderas de advertencia puedo obtener una conversión de tipo de advertencia.
#include <boost/multi_array.hpp>
void function (boost::multi_array<unsigned char, 2> matrix) {
int nrows = matrix.shape()[0];
int ncols = matrix.shape()[1];
}
Ver mensaje de advertencia a continuación. ¿Significa esto que soy, implícitamente, la conversión de un 'long unsigned int' en un regular 'int'?
Si es así, yo creo que esto es lo que yo quiero (necesitan realizar cálculos con nrows, ncols después), y entonces, ¿cómo puedo realizar la conversión explícita?
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];