"使用关键字"

时间:2018-03-01 10:25:18

标签: c++ compiler-errors 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

1 个答案:

答案 0 :(得分:2)

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="100"
    android:layout_marginTop="@dimen/linlaytop">
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="30"
        android:text="@string/traffic"
        android:textAppearance="@style/TextAppearance.AppCompat.Medium"/>
    <Spinner
        android:id="@+id/trafficSpinnerView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="70"
        android:layout_marginLeft="@dimen/linlayleft">
    </Spinner>
</LinearLayout>

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

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