2015-06-25 3 views
0

В настоящее время я работаю над проектом для преобразования из постфикса в инфикс с использованием стека, реализованного через связанный список. Я пытаюсь взять строку, а затем нажимать каждый символ на стек, но я продолжаю получать ошибку.Неверное преобразование пользователя из ошибки char (преобразование постфикса с использованием стека)

Error: invalid user-defined conversion from ‘char’ to ‘const stack_element& {aka const std::basic_string&}’

Вот мой код:

#include "stack.h" 
string convert(string expression) 
{ 
    stack c; 
    string post = " "; 
    for (int i =0; i<expression.length(); i++) 
    { 
     c.push(expression[i]); 
    } 
} 
int main() 
{ 
    string expression; 
    cout<<" Enter a Post Fix expression: "; 
    getline(cin,expression); 
    return 0; 
} 

и здесь функция толчок написано в другом файле .cpp

void stack::push(const stack_element & item) 
{ 
    cout<<"Inside push \n"; 
    stack_node *p = new stack_node; 
    p->data = item; 
    p->next = s_top; 
    s_top = p; 
} 

ответ

0

не использовать сопзЬ в качестве параметра в вашей нажимной функции

void stack::push(stack_element & item) 
+0

Спасибо, что сработало –

-1

Изменить стек пустот: : push (const stack_element & item)

void stack :: push (cons char & item), Как и в вашем случае, вы пытаетесь создать stac символов. Если вы хотите использовать шаблоны общего использования.