У меня есть следующее объявление шаблона:
template <typename T>
void IterTable(int& rIdx,
std::vector<double>& rVarVector,
const std::vector<T>& aTable,
const T aValue,
T aLowerBound = -(std::numeric_limits<T>::max()), //illegal token on right side of '::' shows here
bool aLeftOpen = true) const;
Который выдает незаконную ошибку токена, как отмечено, в строке с "- (std:: numeric_limits:: max())". Я получил этот код из какого-то старого источника linux, который я пытаюсь скомпилировать в Windows. Подумайте, в чем проблема?
Изменить: Он также не работает с использованием min(), а выход компилятора:
Error 92 error C2589: '::' : illegal token on right side of '::' c:\projects\r&d\prepaydll\include\cfcdefault.h 216 PrepayDLL
Error 93 error C2059: syntax error : '::' c:\projects\r&d\prepaydll\include\cfcdefault.h 216 PrepayDLL
Строка 216 - это упомянутая ранее строка.