здравствуйте.
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++ даже не выдал варнингов. потом сам нашел ошибку и исправилса.
вопрос — законна ли вышерасписанная картина по стандарту и должен ли хороший компилер выдавать варнинг на подобное?
благодарю.
"Я женился на первой же женщине, которая обратилась ко мне по мейлу." © Л. Торвальдс