Я новый программист на C++ и только начал со структур и указателей, и у меня возникли сомнения.Вернуть указатель структуры в функции void
У меня есть структура и функция недействительной()
struct my_struct
{
int x;
}
void my_function(){
my_struct* x=10
}
мне нужно вернуть значение my_struct * х до вызова функции.
большинство примеров я видел возвращение указатель структуры не использует функцию пустот() вместо этого они используют как этого
struct my_struct
{
int x;
}
struct my_struct* my_function(int* x){
//assign the value for X and return by assign a reference `&` from caller function
}
так что это не возможно, чтобы вернуть указатель структуры из пустой функции или сделать Мне нужно использовать указатели void? PLS медведь со мной и помочь мне, я новичок в программировании.
Возвращаемый тип функции 'void' означает, что функция не возвращает значение." Если вам нужно что-то вернуть, дайте функции соответствующий тип возвращаемого значения. Это будет 'my_struct *' в вашем случае. – Angew
Кроме того, 'my_struct * x = 10' является незаконным –
Если вы не полностью понимаете функции и указатели, не пытайтесь вернуть указатель, динамически выделенный внутри вызова функции. Вы можете в конечном итоге вызвать утечку памяти, если вы забудете удалить их впоследствии. Если возможно, передайте структуру по ссылке. В противном случае взгляните на интеллектуальные указатели в библиотеках boost. – FKaria