这种类型的别名有什么问题

时间:2014-06-25 12:22:30

标签: c++

一位朋友让我帮忙解决这个问题,我不知道发生了什么。

namespace  
{  
   using TestString = const char* const;  

   TestString STRING = "This is a string";  
   TestString EDIT_STRING = "Try to modify string";  
}

" gpp -c"出现以下错误:

  • test.cpp:3:错误:在' TestString'之前预期的嵌套名称说明符
  • test.cpp:3:错误:' TestString'尚未宣布
  • test.cpp:3:错误:预期`;'之前' ='令牌
  • test.cpp:3:错误:在' ='之前预期的不合格ID令牌
  • test.cpp:5:错误:' TestString'没有命名类型
  • test.cpp:6:错误:' TestString'没有命名类型

第3行之后的错误是有意义的......他们无法在第3行工作, 并且预计第6行的位将在测试代码中稍后失败。 但是第3行发生了什么?

此外,C ++的这些头文件在哪里?我无法在任何地方找到它们 / usr / include(绝对不是IN / usr / include)?

  • 数组
  • inttypes
  • unordered_map

由于

2 个答案:

答案 0 :(得分:0)

这意味着您有一个不支持C ++ 2011的编译器,或者您没有设置允许编译器使用C ++标准功能的选项。

答案 1 :(得分:0)

上面的答案让我走上正轨。我是否对谷歌搜索了gcc-4.7.3 支持C ++ 2011,并发现了一个带有一点测试程序的SO帖子。事实证明,C ++ 2011的支持在该版本中是实验性的,必须专门启用 基于gcc的格斗,它不是。是时候升级了。

谢谢!