“使用关键字”的大量编译错误

问题描述 投票:-3回答:1

我只是使用了一些简单的定义和“using”关键字,如下所示:

using pairStringInt = std::pair<std::string, size_t>;
using listOfFiles = std::list<pairStringInt>;
using numberOfFilesPerProcess = std::vector<listOfFiles, size_t>;

但是当我在main中声明一个简单的对象时:

int main(int argc, char*argv[])
{
   constexpr int value = 2;
   numberOfFilesPerProcess out;
}

这会返回许多编译错误,我不明白为什么。 enter image description here

c++ compiler-errors using
1个回答
1
投票

这个错误很充实而且很虚伪。

using numberOfFilesPerProcess = std::vector<listOfFiles, size_t>;

正如@sajas所说,std :: vector的第二个参数是size_t,这对于向量来说是不可能的。如果用容器图更改了矢量容器,现在一切都很好。这解决了问题。

using numberOfFilesPerProcess = std::map<listOfFiles, size_t>;
© www.soinside.com 2019 - 2024. All rights reserved.