LINUX.ORG.RU

История изменений

Исправление imatveev13, (текущая версия) :

Как вариант предлагаю макро:

bool foo() { return true; }
bool bar() { return true; }
bool baz() { return false; }

#define CHECK_TRUE(EXPR) if ( !(EXPR) ) { printf("failed: %s\n", #EXPR); return -1; }
int init()
{
    CHECK_TRUE(foo());
    CHECK_TRUE(bar());
    CHECK_TRUE(baz());
    return 0;
}
#undef CHECK_TRUE

https://godbolt.org/z/153Y4TW86

Исправление imatveev13, :

Как вариант предлагаю макро:

bool foo() { return true; }
bool bar() { return true; }
bool baz() { return false; }

#define CHECK_TRUE(EXPR) if ( !(EXPR) ) { printf("failed: %s\n", #EXPR); return -1; }
int init()
{
    CHECK_TRUE(foo());
    CHECK_TRUE(bar());
    CHECK_TRUE(baz());
    return 0;
}
#undef CHECK_TRUE

https://godbolt.org/z/MbP55j416

Исходная версия imatveev13, :

Как вариант предлагаю макро:

bool foo() { return true; }
bool bar() { return true; }
bool baz() { return false; }

#define CHECK_TRUE(EXPR) if ( !(EXPR) ) { printf("failed: %s\n", #EXPR); return false; }
int init()
{
    CHECK_TRUE(foo());
    CHECK_TRUE(bar());
    CHECK_TRUE(baz());
    return 0;
}
#undef CHECK_TRUE

https://godbolt.org/z/MbP55j416