"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,
Скорее всего, какая-то другая часть подписи не совпала, но вы не указали истинный код, а также полное сообщение об ошибке или список кандидатов, которые, вероятно, предоставили компилятор, поэтому наши руки связаны. –
'& t = ptr' не имеет большого смысла. «адрес переменной« t »- это значение, хранящееся в переменной« ptr ». –
http://stackoverflow.com/questions/19032461/convert-reference-to-pointer-representation-in-c – meirm