Có một số người dùng Stack Tràn người ủng hộ mạnh mẽ luôn sử dụng quy ước loại trả lại C++ 11 mới khi viết các hàm, chẳng hạn như main()->int
. Tôi có thể thấy lợi thế, vì nó làm cho đồng nhất ký hiệu. Tuy nhiên, khi khai báo một con trỏ hàm, tôi không thể tìm thấy bất kỳ cách nào của việc sử dụng một hình thức lợi nhuận dấu, tức là có thể tuyên bố một trong haiSử dụng con trỏ hàm có kiểu trả về theo sau
typedef int(*fp)(int);
hoặc
using fp = int(*)(int);
cho một con trỏ hàm lấy một int
và trả lại một số int
.
Có cách nào để sử dụng cú pháp trả về đuôi mới khi khai báo một con trỏ hàm như vậy không? Ví dụ, một cái gì đó giống như
using fp = (*)(int)->int;
nhưng điều này không biên dịch. Nếu không, có một lý do tại sao cú pháp mới không áp dụng cho các con trỏ hàm?
Cảm ơn, vì lý do nào đó, tôi đã quên mất nhu cầu 'tự động 'trong các hàm trả về theo sau. Có ý nghĩa. – vsoftco
Chỉ cần tìm ra nó :) Cảm ơn nhiều, sẽ chấp nhận câu trả lời của bạn như là 5 giây nhanh hơn :) – vsoftco