Я пытаюсь создать новый язык программирования и пытаюсь добавить оператор &
(указатель на) из C. Что именно он делает?То есть как он «создает» указатель?Почему он не может создать указатель на константу 1 ?Моя текущая реализация оператора выглядит следующим образом, но он также работает с константами, поэтому я предполагаю, что оператор C работает не так:
operator & (any one argument):
temp = allocate (typeof argument)
store argument in temp
return temp
1 : пример программы:
int main(){
int* x;
x = &1;
}
gcc
выход:
ptr.c: In function ‘main’:
ptr.c:3:6: error: lvalue required as unary ‘&’ operand
x = &1;