//работает только если указана размерность массива x[5][4]
Чтобы значения row, col определяли размерность массива x в функции.
Подскажите пожалуйста, как задать размерность массива через вызов функции, где ошибка?
Можно сделать через статику, так и через динамику. Но в этой задачи я бы стал использовать динамику.
Я изучаю интерфейс Boost Python, особенно при представлении функции C ++ для Python. Теперь у меня проблема с тем, как вернуть двумерный массив функции C ++ на сторону Python. Например, у нас есть следующий код C ++:
Я знаю, что есть способ вернуть двумерный массив в Python, используя ctypes , Но моя проблема в том, как использовать boost::python::numeric::array
сделать это, или если есть какие-либо другие решения без использования сторонних библиотек. Я действительно ценю, если кто-нибудь может мне помочь.
как я могу вернуть двухмерный массив из функции в С++?
4 ответа
Используйте std::vector > вместо использования массивов стилей C.
-1 Codeanu [2010-11-13 13:34:00]
вы должны вернуть его как return **arr
используя вектор STL или другой STL-контейнер, это один из способов сделать это.
Другим способом было бы вернуть указатель на указатель, так как двумерный «массив» — это не более чем указатель на указатель, поэтому на практике он выглядит так:
Примечание: в 99% случаях вам нужно знать, насколько велик массив, поэтому вам также нужно вернуть фактический размер массива. для этого вы можете использовать параметры функции, например