Я пытался понять, почему следующий код дает мне неверный указатель на строку 'filename':
Mat imread(const string& filename, int flags) {
// some code returning a Mat object
}
int main() {
string s = "test.jpg";
imread(s, 0);
}
Я отлаживал пошагово и все, что у меня естьбыло то, что до ввода imread
, строка была в порядке (я был в состоянии проверить каждый ее элемент), но впоследствии это было невозможно, и отладчик обвинил Bad Ptr.Я не уверен, что понимаю, почему это происходит.
Просто чтобы вы знали, я использую Visual Studio 2008 и OpenCV 2.2.
РЕДАКТИРОВАТЬ: я действительно забыл сказать одну важную вещь, это было важно для меня, чтобы решить эту проблему: я писал этот код в файле .cu, поэтому сначала компилировал nvcc.