Ошибка компилятора C2171
"оператор": недопустимо для операндов типа "тип"
Унарный оператор используется с недопустимым типом операнда.
Примеры
Следующий пример приводит к возникновению ошибки C2171:
// C2171.cpp
int main() {
double d, d1;
d = ~d1; // C2171
// OK
int d2 = 0, d3 = 0;
d2 = ~d3;
}
Следующий пример приводит к возникновению ошибки C2171:
// C2171_b.cpp
// compile with: /c
class A {
public:
A() { STF( &A::D ); }
void D() {}
void DTF() {
(*TF)(); // C2171
(this->*TF)(); // OK
}
void STF(void (A::*fnc)()) {
TF = fnc;
}
private:
void (A::*TF)();
};