Прямо сейчас он показывает только первый элемент массива, но я хочу, чтобы все элементы в массиве были визуальными. Я думаю, что Clion использует GDB.
РЕДАКТИРОВАТЬ: я имею в виду конкретно массивы в куче. Массивы в стеке могут быть визуализированы.
К сожалению, CLion в настоящее время не поддерживает такую функцию. Как предложено сотрудником JetBrains, Вы можете использовать обходной путь. В окне Evaluate / Watches используйте следующее выражение:
(MyType[128])myArray
Вы можете использовать произвольный размер массива; все, что работает для вас.
Если ваш массив хранится в void *
переменная, вам нужно сделать что-то более сложное:
(MyType[128])*(char*)myArray
Пожалуйста, проголосуйте Эта проблема, увеличить шанс получить реальное решение. Это можно сделать, щелкнув по крошечному значку большого пальца в правой части страницы.
Ответ от cubuspl42 работает для ГБД. Но если вы используете Mac в качестве отладчика LLDB, правильный метод
(MyType(*)[128])myArray
Надеюсь это поможет!
Вы можете использовать шаблон и ссылку:
template<int N>
void foo1(int (&arr)[N])
{
...
}
Если вы хотите передать массив другой функции, переданная функция должна также использовать шаблон и ссылку для массива:
template<int N>
void foo2(int (&arr)[N])
{
...
}
template<int N>
void foo1(int (&arr)[N])
{
foo2(arr);
}
Этот метод позволяет вам увидеть все содержимое массива int в clion