错误:“xxx”之前的预期嵌套名称说明符

新手上路,请多包涵

编译“错误:预期的嵌套名称说明符之前”时出现错误

代码是

 using range = std::pair<float,float> ;
 range make_range( float a, float b ) { return { std::min(a,b), std::max(a,b) } ; }
 bool intersects( range a, range b )
 {
    if( a > b ) std::swap(a,b) ;
    return a.second >= b.first ;
 }

我正在使用 Ubuntun 12.04、GCC 4.6 和 CodeBlocks 10.05

原文由 Cgprojectsfx 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 449
1 个回答

我在一个文件中创建了这个:

  #include <utility>
 #include <algorithm>
 #include <iostream>

 using range = std::pair<float,float> ;

 range make_range( float a, float b ) { return { std::min(a,b), std::max(a,b) } ; }

 bool intersects( range a, range b )
 {
    if( a > b ) std::swap(a,b) ;
    return a.second >= b.first ;
 }

 int main()
 {
   float x =1.0;
   float y =10.0;
   range pair_1 = make_range( x, y);
   range pair_2 = make_range(-2, 6);

   bool brs = intersects( pair_1, pair_2 );
   std::cout<<std::get<0>(pair_1)<<"  "<<std::get<1>(pair_1)<<std::endl;
   std::cout<<std::get<0>(pair_2)<<"  "<<std::get<1>(pair_2)<<std::endl;
   std::cout<<brs<<std::endl
   return 0;
 }

并使用 _g++ -std=c++11 programname.cc 它编译并运行没有任何问题。

原文由 user5732391 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题