заменяемость size_t и ENUM: законно ли?
От: varnie  
Дата: 05.07.08 16:55
Оценка:
здравствуйте.

 enum E_TYPE {
        type1,
        typ2,
        type3
 };

 void foo(const std::size_t index) {  (2)
      //...
 }

 int main(){
    
    E_TYPE example = E_TYPE::type1;
    foo(example);  //(1)
 }

я нечайно ошибса как-то раз в своем коде и спутал тип передаваемого параметра (вместо std::size_t передал enum E_TYPE), на что компилер g++ даже не выдал варнингов. потом сам нашел ошибку и исправилса.
вопрос — законна ли вышерасписанная картина по стандарту и должен ли хороший компилер выдавать варнинг на подобное?
благодарю.
"Я женился на первой же женщине, которая обратилась ко мне по мейлу." © Л. Торвальдс
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.