История изменений
Исправление bormant, (текущая версия) :
Этот abs — не тот, который std::abs ;-), ему важен только размер параметра на входе, на его знаковость в вызывающем коде ему почти плевать.
#include <iostream>
#define ABS(N) ((N<0)?(-N):(N))
using std::abs; // теперь abs -- это std::abs
int main() {
unsigned int u=-1;
std::cout << "abs: " << abs((int)u) << ", ABS: " << ABS(u) << "\n";
}
PS. Ну и предупреждения стоит включить :-D
Исправление bormant, :
Этот abs — не тот, который std::abs ;-), ему важен только размер на параметра входе, на его знаковость в вызывающем коде ему плевать.
#include <iostream>
#define ABS(N) ((N<0)?(-N):(N))
using std::abs; // теперь abs -- это std::abs
int main() {
unsigned int u=-1;
std::cout << "abs: " << abs((int)u) << ", ABS: " << ABS(u) << "\n";
}
PS. Ну и предупреждения стоит включить :-D
Исправление bormant, :
Этот abs — не тот, который std::abs ;-), ему важен только размер на параметра входе, на его знаковость в вызывающем коде ему плевать.
#include <iostream>
#define ABS(N) ((N<0)?(-N):(N))
using std::abs; // теперь abs -- это std::abs
int main() {
unsigned int u=-1;
std::cout << "abs: " << abs((int)u) << ", ABS: " << ABS(u) << "\n";
}
Исходная версия bormant, :
Этот abs — не тот, который std::abs ;-), ему важен только размер на параметра входе, на его знаковость в вызывающем коде ему плевать.
#include <iostream>
#define ABS(N) ((N<0)?(-N):(N))
using std::abs;
int main() {
unsigned int u=-1;
std::cout << "abs: " << abs((int)u) << ", ABS: " << ABS(u) << "\n";
}