search

Home  >  Q&A  >  body text

c++ - allocator对象设为静态成员就会报错

在《C++ Primer》的13.5节的动态内存管理类中,一旦将allocator设为静态成员,编译时就会报错。

class StrVec{
    /* other code */
    private:
    static allocator<string> alloc;
}

错误原因在下面

操作系统window10,书上的代码是有static的。
为什么会这样的?谢谢。

PHP中文网PHP中文网2772 days ago418

reply all(1)I'll reply

  • 黄舟

    黄舟2017-04-17 15:21:01

    Static members in a class are only declared and must be defined outside the class.

    Add in a cpp file:

    allocator<string> StrVec::alloc;

    reply
    0
  • Cancelreply