जब मैं चलाने के लिए, निम्न चेतावनी के साथ झंडे मैं एक प्रकार रूपांतरण चेतावनी.
#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];