gpt4 book ai didi

compiler-errors - 为什么会收到无效的参数错误?

转载 作者:行者123 更新时间:2023-12-02 11:04:23 24 4
gpt4 key购买 nike

这是我要声明的内容:

typedef enum { WHITE, BLACK } vcolor_t;
vector<vcolor_t> vcolor;

这些是我得到的错误:
error: template argument for 'template<class _Alloc> class std::allocator' uses local type
'citysim::dijkstra(std::vector<int>&, const int&, const int&)::vcolor_t'
error: trying to instantiate 'template<class _Alloc> class std::allocator'
error: template argument 2 is invalid
error: invalid type in declaration before ';' token

每当我发表这样的声明
vcolor_t vcolor;

它不会给我任何错误,所以我不理解为什么 vector 声明会给我这些错误。

最佳答案

您的代码可以在MS编译器上编译,但不能在gcc上编译。我真的不知道为什么。将您的typedef声明移出例程dijkstra,它将进行编译。

#include <vector>
using namespace std;
namespace city
{
typedef enum {WHITE, BLACK} vcolor_t; // <-- Move it here
void dijkstra(...)
{
// typedef enum ... <-- the compiler does not like this
vector<vcolor_t> vcolor;
}
}

关于compiler-errors - 为什么会收到无效的参数错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22552202/

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