посчитать размерность массива переданного как параметр в функцию

neznayko___
Дата: 25.01.2015 15:37:21
void funcmasparam(char* mas[]);


char *msc[100];
funcmasparam(msc);

как сабж
зы без передачи размерности массива, как параметр в функцию
Dimitry Sibiryakov
Дата: 25.01.2015 15:44:18

Никак. Разве что последний элемент сделать NULL-овым.

Posted via ActualForum NNTP Server 1.5

Anatoly Moskovsky
Дата: 25.01.2015 16:07:20
neznayko___,

1) Передать размер вторым параметром, как все делают ))

2) Если С++, то использовать шаблон для выведения размера массива. Но учитывая что в функцию необязательно массив можно передать, а например просто указатель на буфер, то размер не всегда выводим - поэтому см. п.1.
MasterZiv
Дата: 26.01.2015 09:03:36
Anatoly Moskovsky,

можешь дать пример с шаблоном и выводом размера?
Anatoly Moskovsky
Дата: 26.01.2015 09:18:02
MasterZiv
можешь дать пример с одолели и выводом размера?

Я не знаю что значит "пример с одолели", но предполагаю что имелось в виду "пример на С++ с шаблоном"

template <size_t N>
void funcmasparam(char* (&mas)[N])
{
    cout << N << endl;
}

int main(){

    char *msc[100];
    funcmasparam(msc);
    return 0;
}
MasterZiv
Дата: 26.01.2015 18:10:44
Anatoly Moskovsky
MasterZiv
можешь дать пример с одолели и выводом размера?

Я не знаю что значит "пример с одолели", но предполагаю что имелось в виду "пример на С++ с шаблоном"



Именно это и имелось в виду. Телефон...