Triệu chứng
Khi bạn cố gắng tuyên bố variadic chức năng mẫu bạn lớp mẫu, trình biên soạn C++ sẽ trả về thông báo lỗi thay vì chấp nhận mã. Ví dụ: khi bạn thực hiện tuyên bố sau:
template<typename T>
struct B { };
template<typename... Types>
struct C { };
template<typename... Types, typename U>
void f(C<Types...>, B<U>)
{
}
template<typename T>
class A {
template<typename... Types, typename U>
friend void f(C<Types...>, B<U>);
};
int main()
{
f(C<int>{}, B<int>{});
A<int> a{};
};
Bạn có thể nhận được thông báo lỗi sau:
lỗi C2783: 'hiệu f (C < loại... >, B < U >)': không có thể suy ra mẫu đối số 'U'
Nguyên nhân
Nguyên nhân là trình biên soạn C++ không phù hợp với tuyên bố về chức năng tuyên bố hiện có một người bạn.
Giải pháp
Bản cập nhật này có sẵn từ Trung Tâm tải xuống của Microsoft.
Trung tâm Tải xuống của Microsoft
Để biết thêm thông tin về cách tải xuống tệp hỗ trợ của Microsoft, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức của Microsoft:
119591 Cách tải xuống các tệp hỗ trợ của Microsoft từ dịch vụ trực tuyến
Microsoft đã quét vi-rút tệp này. Microsoft đã sử dụng phần mềm phát hiện vi-rút mới nhất đã có vào ngày tệp được đăng. Tệp được lưu trữ trên máy chủ được tăng cường bảo mật giúp ngăn chặn mọi thay đổi trái phép đối với tệp.
Điều kiện tiên quyết
Hotfix này yêu cầu Visual Studio 2015 Update 3.
Thông tin khởi động lại
Bạn có thể phải khởi động lại máy tính sau khi áp dụng cập nhật nóng này.
Thông tin thay thế
Hotfix này không thay thế bất kỳ hotfix nào phát hành trước đó.
Thông tin về tệp
Phiên bản tiếng Anh của cập nhật nóng này có các thuộc tính tệp (hoặc thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab Múi Giờ trong mục Ngày và Giờ trong Pa-nen điều khiển.
Tên tệp |
Phiên bản tệp |
Kích thước tệp |
Ngày |
Giờ |
Nền tảng |
VC14-KB4096429.exe |
14.0.24240 |
19,177,304 |
04/19/2018 |
02:32 SÁNG |
X86 |
Giải pháp
Để khắc phục sự cố này, không tuyên bố variadic chức năng mẫu bạn lớp mẫu.