o que é a sintaxe “struct * struct newStruct (int somedata) {}” em c ++ [duplicado]
Nov 16 2020
Eu estava tentando fazer uma árvore em c ++ e me deparei com esse código que está me confundindo muito.
struct node
{
int data;
struct node* left;
struct node* right;
};
// The code bellow this is the part i dont understand
struct node* newNode(int idata)
{
node* node = new struct node;
node->data = idata;
node->left = NULL;
node->right = NULL;
return node;
}
o que é struct node*? Algum tipo de estrutura, mas um ponteiro? Também não deveria haver structs ;no final? Por exemplo, nodetem ;no final do corpo, mas não node*?
Respostas
1 nvjsingh Nov 16 2020 at 03:43
struct node*é o tipo de retorno da função newNode()e não uma definição em si. A linha à qual você está se referindo é a assinatura da função newNode. Ele é seguido pela definição da função entre as duas chaves {}. Uma definição de função não precisa de um ;no final.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas