Я не могу понять почему компилятор выдает мне ошибку Ошибка C4700 использована неинициализированная локальная переменная "TempNode"
. Вот мой код:
void PushFront(T Value)
{
Node<T>* TempNode;
TempNode->NextNode = PtrBegin->NextNode;
TempNode->Value = PtrBegin->Value;
PtrBegin->Value = Value;
PtrBegin->NextNode = (Node<T>*)malloc(sizeof(Node<T>));
PtrBegin->NextNode = TempNode->NextNode;
PtrBegin->Value = TempNode->Value;
}
Реализация Node
:
struct Node
{
public:
Node* NextNode;
TypeNode Value;
Node() : NextNode((Node<TypeNode>*)malloc(sizeof(Node<TypeNode>))), Value(NULL) {}
Node(TypeNode Value) : NextNode(new Node<TypeNode>), Value(Value) {}
~Node()
{
delete NextNode;
}
};
void PushFront(T Value)
{
Node<T>* TempNode;
// чему здесь равен TempNode?
TempNode->NextNode = PtrBegin->NextNode;
...
// зачем он вообще здесь нужен?
Последующие присвоения разных значений одним и тем же переменным (PtrBegin->Value
и PtrBegin->NextNode
) в соседних строках - бессмысленны, не говоря уже о malloc
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
прошу опытных товарищей подсказать как лучше реализовать шаблонную функциюПредположим у меня есть такая структура:
Я хочу объявить тип long long double , но компилятор выдает ошибку, так как для него это все равно,что объявление int doubleМожно ли все-таки объявить...