실제로 지정하지 않은 작업, 내 함수의 입력 범위가 어떤 값을 가져야하는지 (오직 항상 양의 정수가 될 것임), 입력은 런타임으로 결정됩니다. 선택한 유형이 실제로 그것이 먹이를 먹었던 가치를 지닐 수 있는지 어떻게 든 테스트 할 수 있습니까? 내가 찾고 테스트되는 마법의 일부 (또는 선행하는 선)와stdin의 숫자가 주어진 유형의 숫자 제한보다 작은 지 확인하는 방법은 무엇입니까?
char test;
std::cin >> test;
if(MAGIC)
{
std::cout << "Error." << std::endl;
}
:
내가 바라고 무엇인지를 보여줍니다. 그것은 다음과 같이 작동합니다 :
표준 입력 : 100 -> 출력 금지
표준 입력 : 1000000 -> 오류.
관련 : https://stackoverflow.com/questions/3582509/why-does-integer-overflow-cause-errors-with-c-iostreams – scohe001