尝试在构造函数中使用vector <int>启动类时出错

Dav*_*vid 2 c++ constructor compiler-errors vector

考虑以下代码:

#include <vector>
using namespace std;    
class DummyClass
{
public:
    DummyClass(){};
    DummyClass( int x ){}
    DummyClass (vector<int> array){}
};
int main()
{
    DummyClass(); // compiles
    DummyClass(5); // compiles
    vector<int> array;
    DummyClass obj = DummyClass( array );//compiles
    //DummyClass( array );// doesn't compile

}
Run Code Online (Sandbox Code Playgroud)

为什么最后一行无法编译?错误:使用不同类型重新定义'array':'DummyClass'vs'vector'

Mar*_*k B 5

根据语法,无法编译的最后一个示例与DummyClass array;重新声明该变量的示例相同array.我想你的意思DummyClass obj2(array);