Aşağıdakileri uyarı bayraklarıyla çalıştırdığımda bir tür dönüştürme uyarısı alıyorum.
#include <boost/multi_array.hpp>
void function (boost::multi_array<unsigned char, 2> matrix) {
int nrows = matrix.shape()[0];
int ncols = matrix.shape()[1];
}
Aşağıdaki uyarı mesajına bakın. Bu, örtük olarak 'uzun imzasız int' yi normal 'int'ye dönüştürdüğüm anlamına mı geliyor?
Eğer öyleyse, istediğim şeyin bu olduğunu düşünüyorum (daha sonra nrows, ncols ile hesaplamalar yapmam gerekiyor) ve bu yüzden dönüşümü nasıl açık hale getirebilirim?
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];