2016-01-25 3 views
0

Я пытаюсь скомпилировать этот код СCompiler ошибка: ожидается, неквалифицированный-идентификатор, прежде чем «используя»

template<int I> using Foo = int; 
using Bar = int; 

++ и получать эти ошибки компилятора (с g++ -c test.cpp)

test.cpp:1:17: error: expected unqualified-id before ‘using’ 
template<int I> using Foo = int; 
test.cpp:2:7: error: expected nested-name-specifier before ‘Bar’ 
using Bar = int; 
+3

Это не очень хороший ответ на вопрос, поскольку вы предоставляете недостаточно информации для всех, кроме вас, чтобы знать, что такое ответ. У вас должен быть [mcve] и показать, как он скомпилирован. – NathanOliver

+0

Отредактировано, чтобы предоставить полный, минимальный и скомпилируемый пример. Я на самом деле считаю, что специфика менее полезна для всех, кто следит за попыткой определить первопричину своей проблемы ... но я думаю, что это правила. – Speed8ump

ответ

0

Моя проблема была синтаксическая ошибка, так как большинство решений для этой ошибки предлагают, а не какие-либо из типичных.

Более новые (как и для C++ 11) типы псевдонимов типа «использование» также сообщают об этой ошибке при попытке скомпилировать их с использованием старых версий стандартов. Добавьте параметр g ++ -std=c++11 (или один из более поздних вариантов стандартов), чтобы g ++ знал, что ему нужно скомпилировать ваш код с помощью функций C++ 11.

+8

Я не уверен, что ответ на вопрос Q & A, который говорит «включить C++ 11 для использования C++ 11», был действительно оправдан. –

+0

Я искал почти час, пытаясь понять, почему эта ошибка сообщается только о том, что опция, о которой я думал, была включена, не была по умолчанию. Иди искать. Каждый ответ на вопрос «почему я получаю эту ошибку»: «вам не хватает точки с запятой» или «у вас есть синтаксическая ошибка в каком-то файле заголовка». Основная причина ошибки не очевидна из текста ошибки или любого другого ответа (или из того, что я мог рассказать). – Speed8ump

+1

Это потому, что это небольшая ошибка, чтобы прочитать документацию, которая не делает здесь хороший вопрос. Такие вопросы регулярно закрываются. –

Смежные вопросы