массива внутри функции ?
внутри шаблонной можно, внутри обычной - нельзя
Ну нифига себе. А как это внутри шаблонной можно?
Если это не VLA, которого по стандарту нет, то массив имеет постоянную длину, а шаблонная функция видит полный тип на входе, а не урезанный до указателя.
#include <iostream> template <typename T, int N> void PrintArrLength(const T (&arr)[N]) { std::cout << N << std::endl; } int main( ) { int myArr[100]; PrintArrLength(myArr); }
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Это если массив статический
Если динамический, то у вас его "нет", а есть только указатель на его нулевой элемент.
Могу написать такое и без шаблонов
используйте std::span и не делайте себе и другим мозг
Нельзя, надо передавать размеры в функцию явно
Обсуждают сегодня