我只是使用了一些简单的定义和“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;
}
这个错误很充实而且很虚伪。
using numberOfFilesPerProcess = std::vector<listOfFiles, size_t>;
正如@sajas所说,std :: vector的第二个参数是size_t,这对于向量来说是不可能的。如果用容器图更改了矢量容器,现在一切都很好。这解决了问题。
using numberOfFilesPerProcess = std::map<listOfFiles, size_t>;