Метод get у тебя должен возвращать int, а в return у тебя указан array. array - это массив, следовательно ты пытаешься вернуть массив там где нужно вернуть int. В С/С++ массивы на прямую не возвращаются и не передаются (как параметры в функции), вместо них возвращается (и передается) указатель. Отсюда и соответствующая ошибка.
Если ты действительно хочешь возвращать int, то надо писать что-то вроде: return array[0];
Если тебе надо возвращать массив, то тип возвращаемого значения должен быть int*, о чем и написано в ошибке.
В остальном смотри ответ Александр Ананьев
Рекурсия это вариант итеративной обработки, когда есть много объектов и надо что-то с ними сделать.
Другой вариант итераций - это циклическая обработка.
У вас в функции нет цикла. Так что тут нет итераций, соответственно не возможно сделать и рекурсию.
Возможно стоит озвучить тут всю задачу целиком, а не ваши выводы из нее.
Кстати, чаще всего решают обратную задачу, как из рекурсивной функции сделать циклическую. Т.к. рекурсия требует расхода стека и может привести к его переполнению, если вложенность слишком большая. Обычно рекурсивная функция проще в реализации, но из-за недостатков рекурсии такой вариант, чаще всего, не желателен.
returnZero, Задавайте сюда конкретные вопросы по непонятным темам. Или можете найти более специализированные чаты по С# в телеге или еще где. Для того и существуют подобные ресурсы.
Если книга не заходит, стоит поискать другую. Можете спросить тут рекомендации по учебнику для C#.
2 месяца - слишком маленький срок, чтоб делать далеко идущие выводы.
Именно так, некоторые возможности настройки оборудования зависят от конкретного оборудования и его драйверов, а не от операционной системы. Так что претензии нужно предъявлять разработчикам драйверов для железки, а не к микрософту, в данном случае. Возможно стоит обновить драйвера, но без гарантий, что в новой версии разрабы сделали локализацию.
clickrnd, Буквы в расширении мало что значат. Значит внутреннее содержимое файлов. Там внутри какая-то структура, чтоб корректно создать файл нужно знать какая структура внутри, чтоб ее воспроизвести.
Берешь hex редактор и смотришь отличия твоего файла от работающего.
Кстати, могу порекомендовать хороший редактор: 010 Editor.
Он поддерживает описания файлов (похоже на объявление структур в С/С++). Наложив такой шаблон можно смотреть бинарный файл в структурированном виде. Очень удобно. В интернете можно найти множество готовых шаблонов для этого редактора.
Минус в том, что он платный. Но при желании можно найти таблетку от жадности.
На твой вопрос не возможно ответить без достаточно глубокого погружения в твой код и знания структуры wav файлов.
Я в свое время использовал библиотеку libsndfile для работы с wav.
UnderwaterFish, эээ, запуск любого приложения в общей мировой сети или просто на одном компьютере никак не отличаются друг от друга. Отличается лишь наличием доступа к приложению с наружи, а это от приложения никак не зависит. Это зависит от настроек твоего шлюза в интернет (роутер) и от фаервола на локальном компьютере.
Настраиваешь на роутере проброс порта, добавляешь правило в локальный фаервол на разрешение входящего трафика к порту приложения и все - приложение доступно из интернета. Нужно только выяснить какой порт использует приложение. Это может быть в документации написано или можно с помощью подручных средств. В винде, например, в мониторе ресурсов видно какие приложения какие порты используют. Есть и другие утилиты.
Кстати, в линуксе (и во всех никсах) кодировка консоли обычно не меняется (в современных дистрибутивах повсеместно используется utf8) и исходники по умолчанию пишутся так же в той же системной кодировке, так что линукс программисты обычно не сталкиваются с такой проблемой.
Хотя и там есть возможность менять кодировку консоли.
Alexander, Не важно. Я же написал, что тут еще играет роль кодировка, в которой написаны исходники.
Если исходники написаны в 1251 - то да поможет. Если нет - не поможет.
У некоторых случается такое совпадение, что кодировка исходников и кодировка консоли совпадает и они с такой проблемой не сталкиваются.
Самый простой способ - писать исходники в cp866, тогда вообще никаких вызовов не нужно делать.
В коментариях к вопросу дал ссылку на свой вчерашний ответ по такому же поводу.
Кстати, можно действовать и со стороны консоли. Выясняем в какой кодировке у нас исходники и меняем кодировку консоли командой:
chcp 866 - устанавливает в консоли кодировку 866
chcp 1251
chcp 65001 - utf8
SetConsoleOutputCP(866) - устанавливает кодировку консоли для вывода. Но если исходники написаны в UTF8 или в cp1251, то это не поможет. Есть аналогичная функция, меняющая кодировку ввода.
Суть проблемы в том, что в виндовой консоли может быть несколько кириллических кодировок, а кодировок исходников может быть еще больше и компилятор и стандартная библиотека C++ сами по себе ничего не делает для синхронизации кодировок при вводе/выводе. И если кодировка консоли и кодировка исходников не совпадает - на выходе получаем кракозябры.
Это самый часто задаваемый вопрос у начинающих программистов на плюсах под виндой.
Буквально вчера писал ответ на подобный вопрос: https://qna.habr.com/q/1224418#answer_2256128
Если искал ответы в гугле и не нашел, значит плохо искал или не так формулировал запрос.
Вячеслав Грачунов, Протестируй память, диск, проведи нагрузочный тест проца и видео карты. Если проблема аппаратная, то она на тестах как-то проявится.
Если все нормально, переустанови винду. Переустановка - самый простой вариант привести винду в рабочее состояние.
Все просто. Вы логинетесь в данном случае не к папке, не к диску и даже не к сетевому диску, вы логинетесь на хосте в сети (роутер). И вы можете быть залогиненым только одним пользователем. И это везде так, а не только в винде.
Может быть тут же добавите как параметры для cmd.exe. Возможно параметр с cmd.exe надо будет взять в кавычки. Полный путь можно не писать. "cmd.exe /c echo hello"
UPD: Да именно так. В справке об этом написано. Смотрите schtasks /Create /?
В самом конце есть пример с параметром.
Решение подходит, только если входные числа лежат в ограниченном не большом диапазоне. Как в приведенном коде - числа от 0 до 1000.
Если же брать, например все возможные варианты для типа int, то будет более 4 млрд. элементов в массиве number, большая часть из которых наверняка не будет использована. Надо смотреть подробнее условие вашей конкретной задачи.
В этом случае проще и возможно быстрее пойти вашим способом.
Кстати для вашей задачи массив moda, по сути, не нужен, можно вводить число, сразу делать инкремет в number и забывать про это число. Т.е. вместо первых двух циклов получится:
while (cin >> num)
++number[num];
И что-то в коде переменная n не понятно для чего. В последнем цикле условие должно быть i < number.size(). При чем тут n, не понятно.
На openvpn рекомендуют использовать udp. Так же UDP используется во всех конфигурациях по умолчанию. С TCP были свои проблемы, где-то у них была статья по этому поводу, что-то не нашел сейчас. На сколько помню, что-то связанное с TCP соединениями через TCP туннель.
На счет отвала udp клиентов - возможно надо нормально настроить тайминги в keepalive, чтоб openvpn сам мог достаточно быстро распознавать ситуацию.
Если ты действительно хочешь возвращать int, то надо писать что-то вроде:
return array[0];
Если тебе надо возвращать массив, то тип возвращаемого значения должен быть int*, о чем и написано в ошибке.
В остальном смотри ответ Александр Ананьев