_THROW не определено в GCC? - PullRequest
0 голосов
/ 28 апреля 2011

Скажите, пожалуйста, где в GCC4 определен макрос _THROW или как его определить вручную

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <assert.h>
#include <ctype.h>
#include <climits>
#include <stdexcept>
#include <sys/cdefs.h>
#include <sys/types.h>

void test() { _THROW(std::range_error,"Test"); }

1 Ответ

3 голосов
/ 28 апреля 2011

Если вы хотите создать исключение в C ++, используйте стандартное ключевое слово C ++ throw:

 throw std::range_error("Test"); 

Пожалуйста, воздержитесь от использования некоторых специфичных для компилятора внутренних макросов.


Если вы должны определить его, вот вам:

#define _THROW(e, ...) throw e(__VA_ARGS__)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...