Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'Identifier': Die Funktionsdefinition kann nicht mit einer vorhandenen Deklaration übereinstimmen.
Bemerkungen
Eine ungewöhnliche Verwendung des unären +-Operators wurde vor einem Funktionsaufruf verwendet, der nicht über Klammern verfügte.
Dieser Fehler tritt nur in C++-Projekten auf.
Examples
Im folgenden Beispiel wird C2244 generiert:
// C2244.cpp
int func(char) {
return 0;
}
int func(int) {
return 0;
}
int main() {
+func; // C2244
}
C2244 kann auch auftreten, wenn eine falsche Funktionssignatur für eine Memberfunktion einer Klassenvorlage verwendet wird.
// C2244b.cpp
// compile with: /c
template<class T>
class XYZ {
void func(T t);
};
template<class T>
void XYZ<T>::func(int i) {} // C2244 wrong function signature
// try the following line instead
// void XYZ<T>::func(T t) {}
C2244 kann auch auftreten, wenn eine falsche Funktionssignatur für eine Memberfunktionsvorlage verwendet wird.
// C2244c.cpp
// compile with: /c
class ABC {
template<class T>
void func(int i, T t);
};
template<class T>
void ABC::func(int i) {} // C2244 wrong signature
// try the following line instead
// void ABC::func(int i, T t) {}
Sie können eine Funktionsvorlage nicht teilweise spezialisieren.
// C2244d.cpp
template<class T, class U>
class QRS {
void func(T t, U u);
};
template<class T>
void QRS<T,int>::func(T t, int u) {} // C2244