Локальный тип как аргументы шаблона в C ++ [дубликат]

На этот вопрос уже есть ответ здесь:

Это мой код

#include 
template  class C = std::vector >
struct FooBar
{
   /*codez*/
};
template
struct Global{};

int main()
{
   struct Local{};  
   FooBar k;
}

Это ошибка, которую я получаю

шаблон аргумент для 'template class C> struct FooBar' использует локальный тип 'main () :: Local'

Какая часть стандарта говорит, что это неправильно? Я использую gcc 4.5.1. Как заставить этот код работать?

36
задан Ron Kanga 22 April 2011 в 03:23
поделиться