C ++ алиасинг шаблонов g ++ 5.4 - PullRequest
0 голосов
/ 27 января 2019

Я не могу скомпилировать тривиальное объявление псевдонимов C ++.Вот мой env dev:

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609

Вот мой фрагмент (файл tstFrameProd.cpp):

template<typename T = double>
struct mystruct {};

template<typename T = double> using myalias = mystruct<T>;

int main(int argc, char *argv[])
{
      return 0;
}

Вот мой процесс компиляции:

g++  -g -std=c++11  -W -Wall -I../include  -I../../../Toolbox/CShmRingBuf/ -I/opt/matrox_imaging/mil/include -Woverloaded-virtual -ansi -pipe -fno-for-scope -DGNU_GCC  -DDEBUG   -c -o tstFrameProd.o tstFrameProd.cpp

Вот мое сообщение об ошибке компиляции:

tstFrameProd.cpp:20:31: error: expected unqualified-id before ‘using’
 template<typename T = double> using myalias = mystruct<T>;

Любая подсказка очень приветствуется.

Приветствия!

Сильвен

1 Ответ

0 голосов
/ 27 января 2019

Вы компилируете с -ansi, что сводит на нет эффект -std=c++11.Просто удалите его.

...