Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
terim, N bağımsız değişkenlerini alan bir işlevi değerlendirmez
Açıklamalar
bir ifade aracılığıyla bir işleve çağrı yapılır. İfade, belirtilen sayıda bağımsız değişkeni alan bir işlevin işaretçisini değerlendirmez.
Örnekler
Bu örnekte kod işlev dışı işlevleri işlev olarak çağırmaya çalışır. Aşağıdaki örnek C2064 oluşturur:
// C2064.cpp
int i, j;
char* p;
void func() {
j = i(); // C2064, i is not a function
p(); // C2064, p doesn't point to a function
}
Nesne örneği bağlamından statik olmayan üye işlevlerine işaretçiler çağırmanız gerekir. Aşağıdaki örnek C2064 oluşturur ve nasıl düzeltileceğini gösterir:
// C2064b.cpp
struct C {
void func1(){}
void func2(){}
};
typedef void (C::*pFunc)();
int main() {
C c;
pFunc funcArray[2] = {&C::func1, &C::func2};
(funcArray[0])(); // C2064
(c.*funcArray[0])(); // OK - function called in instance context
}
Bir sınıf içinde, üye işlev işaretçileri de çağıran nesne bağlamını göstermelidir. Aşağıdaki örnek C2064 oluşturur ve nasıl düzeltileceğini gösterir:
// C2064d.cpp
// Compile by using: cl /c /W4 C2064d.cpp
struct C {
typedef void (C::*pFunc)();
pFunc funcArray[2];
void func1(){}
void func2(){}
C() {
funcArray[0] = &C::func1;
funcArray[1] = &C::func2;
}
void func3() {
(funcArray[0])(); // C2064
(this->*funcArray[0])(); // OK - called in this instance context
}
};