gpt4 book ai didi

C++ 无法创建 vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:06:21 25 4
gpt4 key购买 nike

这很奇怪。我在一个类中创建了一个很好的 vector ,但不能在另一个类中创建它。他代表了我所拥有的:

main.h

#include <Windows.h>
#include <ShellAPI.h>
#include <vector>
#include <string>
#include <iostream>

#include "taco.h"

class MyClass
{

public:
int someint;
vector<int> myOrder;
};

taco.h

#include <vector>

class OtherClass
{

public:
vector<int> otherOrder;
};

我得到了关于 taco.h 中 vector 声明的编译错误:

error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'

我在这里错过了什么?我可以取消注释第二个 vector 声明,它编译得很好。

最佳答案

尝试:

std::vector<int> otherOrder;

vectorstd 命名空间的一部分。这意味着无论何时在头文件中使用 vector,都应该包含 std:: 前缀。

有时您可以忘记它的原因是一些包含的文件中可能有 using namespace std;,允许您省略前缀。但是,您应该避免在头文件中使用 using 关键字,因为它会污染任何 include 它的文件的命名空间。

有关使用命名空间... 的危险的更详细说明,请参阅this thread .

关于C++ 无法创建 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355876/

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