[devel] parse error in template argument list
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Дек 8 18:11:20 MSK 2006
On Fri, Dec 08, 2006 at 04:38:54PM +0200, Slava Dubrovskiy wrote:
> Наткнулся на такую ситуацию при сборке firebird. Вот пример:
>
> $cat test.cpp
>
> #include <sys/types.h>
>
> template <typename Object, size_t Capacity = 16>
> class Stack
> {
> private:
> void* stk;
> void* stk_cache;
>
> public:
> explicit Stack<Object, Capacity>()
> : stk(0), stk_cache(0) { }
>
> Stack<Object, Capacity>()
> : stk(0), stk_cache(0) { }
>
> ~Stack<Object, Capacity>()
А если тут везде написать вместо Stack<Object, Capacity> просто Stack (без
явного указания параметров)?
> {
> delete stk;
> delete stk_cache;
> }
> }; // class Stack
>
> int main(int argc, char* argv)
> {
> return(0);
> }
>
> $ g++-3.4 -o test test.cpp
> $ g++-4.1 -o test test.cpp
> test.cpp:17: error: parse error in template argument list
>
> $ rpm -qa | grep gcc
> gccmakedep-1.0.1-alt1
> gcc4.1-doc-4.1.1-alt10
> gcc-c++-common-1.4.10-alt1
> gcc3.4-3.4.5-alt6
> gcc-common-1.4.10-alt1
> gcc3.4-c++-3.4.5-alt6
> libgcc4.1-4.1.1-alt10
> gcc4.1-c++-4.1.1-alt10
> gcc4.1-4.1.1-alt10
А 4.1.1-alt9 собирает и в таком виде...
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20061208/2754b69a/attachment-0001.bin>
Подробная информация о списке рассылки Devel