Как вернуть структуру из функции c
Перейти к содержимому

Как вернуть структуру из функции c

Как вернуть структуру из функции в C ++?

Я пробовал на нескольких разных форумах и не могу получить прямой ответ, как я могу заставить эту функцию возвращать структуру? Если я попытаюсь «вернуть newStudent;» Я получаю сообщение об ошибке «Не существует подходящего пользовательского преобразования из studentType в studentType».

Решение

Вот отредактированная версия вашего кода, которая основана на ISO C ++ и который хорошо работает с G ++:

Другие решения

У вас проблема с объемом. Определите структуру перед функцией, а не внутри нее.

Переместите его за пределы функции:

Как отмечают другие, определите studentType вне функции. Еще одна вещь, даже если вы сделаете это, не создавайте локальный экземпляр studentType внутри функции. Экземпляр находится в стеке функций и не будет доступен, когда вы попытаетесь его вернуть. Однако вы можете динамически создавать studentType и возвращать указатель на него вне функции.

Как передать или вернуть структуру в / из функции в C / C ++?

Структура — это определяемый пользователем тип данных в C / C ++. Структура создает тип данных, который можно использовать для группировки элементов, возможно, разных типов в один тип.

Как передать структуру в качестве аргумента функциям?

  • Путем передачи всех элементов функции по отдельности.
  • Передав всю структуру функции.

В этой статье в функцию передается вся структура. Это можно сделать с помощью метода вызова по ссылке, а также метода вызова по значению.

Как вернуть структуру из функции в С++

Поэтому я тщательно просмотрел темы, просматривая этот сайт, но я не мог найти что-то, что может мне помочь.

Я делаю задачу для своего друга, и позвольте мне сказать вам, что это был год или больше, так как я использовал C++.

Таким образом, проблема, с которой я столкнулась, — это указатели и возврат структуры через указатель.

Теперь проблема заключается в том, что мне трудно найти правильные значения из местоположения.

Я пытаюсь увеличить указатель с помощью V++. Самое смешное, что это правильно печатать значения, если я использую:

И так далее. Но если я использую цикл или пишу даже одну строку или использую endl или \n, появляются значения jumble up и gibberish values.

Так что здесь может быть не так?

Важно, чтобы я использовал struct, а также, пожалуйста, руководствуйтесь в соответствии с кодом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *