Tôi muốn áp dụng toán tử '&' đơn giản ngay sau hàm để hoạt động trên giá trị trả về hàm. Tuy nhiên, tôi nhận được một lỗi thời gian biên dịch (tôi sử dụng gcc từ MinGW)sử dụng đơn vị & toán tử trên giá trị trả về hàm
test.c: In function 'main':
test.c:8:12: error: lvalue required as unary '&' operand
tôi đã thực hiện một mã số để làm cho câu hỏi của tôi dễ dàng hơn để hiểu:
int function();
void function2(int *param);
main()
{
function2(&function1());
}
int function1()
{
return 10;
}
void function2(int *param)
{
return;
}
Mã này tạo ra cùng một lỗi thời gian biên dịch .
Câu hỏi đặt ra là: Tôi có thể sử dụng toán tử '&' chỉ từ hàm2 "()", không có mã khác ở đâu?
Bạn không thể, miễn là 'hàm1' trả về' int'. – AnT