У меня есть строковая переменная с именем flavour
под моим struct Node
, каждый раз, когда я вношу строку для переменной flavour, программа перестает работать и ничего не печатает. Я проверил это, используя различные типы переменных, такие как целое число и символ, оба типа переменных работают просто отлично и будут распечатывать все, что находится в переменной.
Вот мой код:
#include <iostream>
using namespace std;
struct Node {
string flavor;
struct Node *next;
};
struct Node* head = NULL;
void insert(string data) {
struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));
new_node->flavor = data;
new_node->next = head;
head = new_node;
}
void display() {
struct Node* ptr;
ptr = head;
while (ptr != NULL) {
cout<<"First data is "<< ptr->flavor;
ptr = ptr->next;
}
}
int main() {
string input;
cout<<"Enter a flavor!"<<endl;
cin>>input;
insert(input);
cout<<"The linked list is: ";
display();
return 0;
}
Вот результат, так как вы можете видеть все, что после cin>>input;
или insert(input)
, похоже, не работает. Я что-то упускаю?
