Tôi đã cài đặt Visual C++ Compiler November 2012 CTP và tạo một dự án bảng điều khiển C++. Tôi đã viết điều này trongMẫu biến thể trong VS 2012 (Visual C++ Tháng 11 năm 2012 CTP)
template<typename T>
void Test(T value){
}
template<typename T, typename... Args>
void Test(T value, Args... args){
Test(value);
Test(args...);
}
int main(){
Test(1,2,3);
}
Sau đó, tôi nhấn F6 để xây dựng trong IDE. Tôi nhận được lỗi này trên dòng 4
error C2143: syntax error : missing ',' before '...'
Danh sách biên dịch "Mẫu biến thể" vì vậy tôi tin rằng điều này sẽ hoạt động. Tôi hiểu intellisense có thể không chính xác tuy nhiên 'trình biên dịch' nên làm việc. Tôi không thể xây dựng từ IDE? Tôi có phải kích hoạt một cái gì đó ở đâu đó không? int i{4};
dường như không hoạt động hoặc tôi chắc chắn rằng khởi tạo đồng bộ hợp lệ.
Cảm ơn James. Wow bạn thậm chí đã thực hiện một ảnh chụp màn hình –
VS2012 Phiên bản 11.0.60610.01 Cập nhật 3 vẫn không biên dịch mẫu từ câu hỏi, mặc dù chọn "Visual Studio 2012 (v110)" làm Nền tảng công cụ. – mloskot
@mloskot: Bộ công cụ v110 không hỗ trợ các mẫu variadic và sẽ không bao giờ. Bạn cần sử dụng CTP tháng 11 (được liên kết trong câu hỏi) hoặc tốt hơn là bản xem trước mới được phát hành của Visual Studio 2013. –