Witam. Napisałem sobie dla treningu klasę binary. Z założenia przechowuje ona tylko kod zero-jedynkowy. Liczba binarna zapisywana jest w zwyczajnej zmiennej typu int. Przy wczytywaniu wartości do zmiennej(przeciążone operatory) chcę automatycznie sprawdzać, czy wprowadzona liczba składa się tylko z zer i jedynek, a jeżeli nie, to niech zwróci błąd preprocesora. Umiem napisać sprawdzanie liczby oraz zwracanie błędu, jednak nie wiem za bardzo jak je zazębić, tzn. jak w zwykłym if'ie bądź if'ie preprocesora sprawdzić wartość zmiennej typu bool i wyświetlić error preprocesora, jeżeli wartość jest równa false. Próbowałem czegoś takiego:
bool sth = false;
//Sprawdznie czy wprowadzona liczba jest liczbą binarną
if(!sth)
#error You must enter a binary num
Jednak błąd jest wywoływany od razu przy próbie kompilacji, program nawet się nie uruchamia. Proszę o pomoc.