Can I avoid an ambiguity, when I declare a fixed length vector in class?

后端 未结 2 1252
再見小時候
再見小時候 2021-01-27 03:20

I want to declare a vector of 2 elements as a class member. But next code generates an error:

class A {
private:
   std::vector v (2);
   ...
}
         


        
2条回答
  •  悲&欢浪女
    2021-01-27 04:16

    An in-class initialiser has to use braces or the equals sign; so this could be

    std::vector v = std::vector(2);
    

    or

    std::vector v {0,0};  // Careful! not {2}
    

    Alternatively, you could use old-school initialisation in the constructor(s):

    A() : v(2) {}
    

提交回复
热议问题