Я использую Xcode на macOS Catalina, который поставляется с lldb. Я попытался распечатать матрицу Armadillo после сообщения о переполнении стека gdb">Есть ли способ распечатать матрицу Armadillo в gdb?, но я получил ошибку:
error: 'print_matrix' does not name a template but is followed by template arguments
non-template declaration found by name lookup
Я новичок в C++, поэтому я не уверен, связана ли ошибка с разницей между gdb и lldb или с текущей версией Armadillo, использующей другую структуру данных. (Цитируемый пост был сделан 8 лет назад, так что, возможно, с тех пор то, как работает Armadillo, изменилось).
Я буду признателен за любое исправление этой ошибки или предложение альтернативных способов распечатать матрицу Armadillo во время отладки.
parray 10 vector.memptr()
и не добавлять переменные в свой код... Если это не так, было бы хорошо сообщить об ошибке. Вызов функций шаблона в отладчике сложен, но мы пытаемся заставить его работать надежно. - person Jim Ingham   schedule 22.02.2020parray 10 vector.memptr()
, но получилerror: Couldn't lookup symbols: arma::Mat<double>::memptr()
. Я не уверен, следует ли мне называть это ошибкой, поскольку я новичок в lldb и не знаю, как это должно работать... - person statuser   schedule 22.02.2020class arma::Mat<double>
в вашем коде заставит компилятор выдать все эти функции. Но это не устойчиво. - person Jim Ingham   schedule 24.02.2020