Trên một ý thích, tôi đã cố gắng để xác định các chức năng chính như là một mẫu chức năng sử dụng kêu vang 2.9:Cần trích dẫn từ tiêu chuẩn về tính hợp pháp của chức năng chính như là một mẫu chức năng
template <typename T = void>
int main(int argc, char **argv)
{
}
và nhận được lỗi sau.
error: 'main' cannot be a template
int main(int argc, char **argv)
^
Có ai biết phần nào của tiêu chuẩn cấm điều này và văn bản có liên quan không?
Bất kể những gì tiêu chuẩn nói, làm thế nào để bạn mong đợi người liên kết biết rằng 'chính' là điểm vào của bạn? –
Trong bài viết ban đầu của tôi, tôi đã không chính xác nói rằng tôi đã sử dụng clang 2.0, khi cần phải nói clang 2.9. Tôi đã sửa chữa nó. –
@ DennisZickefoose - Vâng, tôi đã hy vọng rằng thực tế rằng nó được đặt tên là 'main' sẽ là một gợi ý. Rõ ràng là '' có vấn đề, nhưng vì đây là mẫu hàm, nên chúng ta có thể sửa đổi nó một số để sử dụng suy luận kiểu để nó có thể được gọi mà không có mẫu goo rõ ràng. –