ожидаемый идентификатор или ‘(’ перед «int»: struct tagNode (int _v)
это из-за неожиданной struct при компиляции в C ++
Допустимая версия вашего кода в C ++ может быть:
struct tagNode
{
int v, f;
tagNode *next;
tagNode (int _v)
{
v = _v;
next = NULL;
}
};
но
- как насчет f ?
- конструктор также может быть
tagNode(int _v) : v(_v), next(NULL) {}
- и у вас есть указатель, поэтому я рекомендую вам взглянуть на правило трех
В C нет конструктора / методов, поэтому эквивалент вашего кода в C может быть:
#include <stdlib.h>
struct tagNode
{
int v, f;
struct tagNode * next;
};
struct tagNode * alloc(int _v)
{
struct tagNode * r = malloc(sizeof(struct tagNode));
r->v = _v;
r->next = NULL;
return r;
}