0

对于 va_list 的包装类,我收到以下错误。

错误:“<invalid operator>”声明为返回数组的函数 这是类定义。

1 #include <stdarg.h>
2 #ifndef __va_size
3 #define   __va_size(type) (((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
4 #endif // __va_size
5 
6    class VAList {
7     protected:
8      va_list ap;
9    public:
10      template<class _Type> VAList(_Type const& last) {
11        va_copy(ap ,*((va_list*)((char *)&(last) + __va_size(last))));
12        }
13      ~VAList() {
14         va_end(ap);
15        }
16      operator va_list() const {
17        return ap;
18        }
19    };

VAList.hh:16:错误:<invalid operator> 声明为返回数组的函数

gcc 版本 4.4.6。

请帮助解决此错误。

4

0 回答 0