2015-09-06 4 views
-1

Я довольно новый для программирования и им в настоящее время работает над домашним заданием, чтобы создать набор инструментов для связанных списков.Ожидаемое выражение, ошибка новобранец?

Im получает сообщение об ошибке «Ожидаемое выражение», поскольку я пытаюсь проверить одну из созданных функций.

template<class T> 
class LLToolkit 
{ 
public: 
    LLToolkit<T>::initNode(T* head, T x)     
    { 
     head->info = x; 
     head->next = NULL; 
    }; 

//some other functions 
}; 

    int main() 
{ 
    LLToolkit<Node> n1; 

    n1.initNode(n1*,1); //Exprected an expression 
} 

Я знаю его, вероятно, некоторые новобранец ошибка и ив пытался искать форум, чтобы найти ответ на этот вопрос, но им не уверен, что меня смущает больше, чем это помогает :)

Заранее спасибо

ответ

2

Принимая адрес n1, делается с &n1, а не n1*.

n1* не имеет никакого значения в данном контексте, следовательно, является ошибкой.

0

Вместо n1.initNode(n1*,1); вы должны поставить: n1.initNode(&n1,1); n1* неправильное выражение, чтобы получить указатель, вы должны использовать &n1.

0

1.You не нужно LLToolkit<T>:: для внутреннего класса Defination из initNode:

template<class T> 
class LLToolkit 
{ 
public: 
    initNode(T* head, T x)     
    { 
     head->info = x; 
     head->next = NULL; 
    }; 

//some other functions 
}; 

2. initNode «s первый параметр является T*, второй параметр T, согласно LLToolkit<Node> n1;, вы должны пройти Node* и Node для n1.initNode.

Смежные вопросы