2015-05-19 4 views
0
"no matching function for call to [...] cdk::sequence_node*&" 

Какое колдовство это? Как это исправить? Должен ли я бросать?Трансформация * и только указатель

Функция ожидает cdk::sequence_node * some_sequence_node как аргумент.

В соответствии с этим вопросом о asterisk and ampersand

BinaryNode б;

BinaryNode * ptr = & b;

BinaryNode * & t = ptr;

Почему компилятор жалуется, если BinaryNode* &t = ptr;? Edit (по запросу):

pwn_parser.y: In function ‘int yyparse(std::shared_ptr<cdk::compiler>)’: 
pwn_parser.y:70:135: error: no matching function for call to ‘pwn::func_decl_node::func_decl_node(int, bool, bool, basic_type*&, std::string*&, cdk::sequence_node*&)’ 
func_decl : type_specifier tIDENTIFIER '(' func_decl_args ')' context { $$ = new pwn::func_decl_node(LINE, false, false, $1, $2, $4); } 

pwn_parser.y:70:135: note: candidates are: 

In file included from ast/all.h:99:0, 
       from pwn_parser.y:5: 
./ast/func_decl_node.h:29:12: note: pwn::func_decl_node::func_decl_node(int, bool, bool, basic_type*, cdk::identifier_node*, cdk::sequence_node*) 
    inline func_decl_node(int lineno, bool local, bool import, 
+2

Скорее всего, какая-то другая часть подписи не совпала, но вы не указали истинный код, а также полное сообщение об ошибке или список кандидатов, которые, вероятно, предоставили компилятор, поэтому наши руки связаны. –

+0

'& t = ptr' не имеет большого смысла. «адрес переменной« t »- это значение, хранящееся в переменной« ptr ». –

+0

http://stackoverflow.com/questions/19032461/convert-reference-to-pointer-representation-in-c – meirm

ответ

1

Благодаря DYP, который помог мне заметить небольшое несоответствие, что я не заметил, я был в состоянии исправить это.

Ой, правильно. Тем не менее, вы передаете std :: string *, где ожидается идентификатор_node * (для перегрузки, показанного компилятором в качестве кандидата). - by dyp

Урок 1: Не делайте ошибку, рассматривая проблему, как если бы это был огромный монстр или огонь, дующий широкий крылатый дракон, блокирующий ваш путь. Представьте проблему как всегда меньшую, чем вы сами. Funny Awkward Yeti Comic

Урок 2: Не делайте предположение, что некоторая часть информации не имеет значения.

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