考虑以下代码:
#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
}
为什么最后一行不能编译?错误:使用不同类型重新定义了“数组”:“DummyClass”与“vector”
最佳答案
根据语法,最后一个无法编译的示例与DummyClass array;
相同,后者重新声明了array
变量。我想你的意思是DummyClass obj2(array);