_THROW在GCC中没有定义?

时间:2011-04-28 11:45:09

标签: c++ exception gcc

请告诉我在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 个答案:

答案 0 :(得分:3)

如果要在C ++中引发异常,请使用标准C ++ throw关键字:

 throw std::range_error("Test"); 

请不要使用某些特定于编译器的内部宏。


如果您必须定义它,请转到:

#define _THROW(e, ...) throw e(__VA_ARGS__)