gpt4 book ai didi

c++ - std::vector ctor 在类外编译,但不在类内?

转载 作者:太空宇宙 更新时间:2023-11-04 14:39:23 24 4
gpt4 key购买 nike

为什么 explicit vector (size_type n) 形式在类外有效但在类内无效?这编译:

#include <vector>

int main() {
std::vector<int> vec_(3); // set capacity to 3
return 0;
}

但不是这个:

#include <vector>

class C {
public:
std::vector<int> vec_(3); // set capacity to 3
};

int main() {
return 0;
}

g++ --std=c++0x -Wall -Wextra -g a.cpp
a.cpp:5:27: error: expected identifier before numeric constant
a.cpp:5:27: error: expected ‘,’ or ‘...’ before numeric constant

为什么? :(

最佳答案

正确的做法是:

class C {
public:
C() : vec_(3) {} // set capacity to 3 in constructor initialization list
std::vector<int> vec_;
};

关于c++ - std::vector ctor 在类外编译,但不在类内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19686606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com