Applies ToVisual Studio 2015

Συμπτώματα

Κατά την προσπάθειά σας να δηλώσει ένα πρότυπο συνάρτηση variadic ως ένας φίλος ενός προτύπου κλάσης, το πρόγραμμα μεταγλώττισης C++ θα επιστρέψει ένα μήνυμα σφάλματος, αντί να αποδεχτείτε τον κωδικό. Για παράδειγμα, όταν κάνετε την ακόλουθη δήλωση:

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{};
};

Ενδέχεται να λάβετε το ακόλουθο μήνυμα λάθους:

Σφάλμα C2783: 'void f (C < τύποι... >, Β < U >)': δεν ήταν δυνατό να συμπεράνει κανείς όρισμα πρότυπο για 'U'

Αιτία

Η αιτία είναι ότι το πρόγραμμα μεταγλώττισης C++ δεν συμφωνεί με τη δήλωση της συνάρτησης φίλο για μια υπάρχουσα δήλωση.

Προτεινόμενη αντιμετώπιση

Αυτή η ενημερωμένη έκδοση είναι διαθέσιμη από το Κέντρο λήψης της Microsoft.

Κέντρο λήψης αρχείων της Microsoft

Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης αρχείων υποστήριξης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:

119591 Τρόπος απόκτησης αρχείων υποστήριξης της Microsoft από ηλεκτρονικές υπηρεσίες

Η Microsoft εξέτασε αυτό το αρχείο για ιούς. Η Microsoft χρησιμοποίησε το πιο πρόσφατο λογισμικό εντοπισμού ιών που ήταν διαθέσιμο κατά την ημερομηνία που δημοσιεύτηκε το αρχείο. Το αρχείο είναι αποθηκευμένο σε διακομιστές με ενισχυμένη ασφάλεια, οι οποίοι συμβάλλουν στην αποτροπή μη εξουσιοδοτημένων αλλαγών στο αρχείο.

Προϋποθέσεις

Αυτή η επείγουσα επιδιόρθωση απαιτεί το Visual Studio 2015 συνάθροιση 3.

Πληροφορίες επανεκκίνησης

Ίσως χρειαστεί να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.

Πληροφορίες αντικατάστασης

Αυτή η άμεση επιδιόρθωση δεν αντικαθιστά άλλες άμεσες επιδιορθώσεις που κυκλοφόρησαν στο παρελθόν.

Πληροφορίες αρχείων

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.

Όνομα αρχείου

Έκδοση αρχείου

Μέγεθος αρχείου

Ημ/νία

Ώρα

Πλατφόρμα

VC14-KB4096429.exe

14.0.24240

19,177,304

04/19/2018

02:32 ΠΜ

X86

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, δεν δηλώνουν την variadic συνάρτηση πρότυπο ως ένας φίλος ενός προτύπου κλάσης.

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.