考虑以下代码:
#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
}
为什么最后一行无法编译?错误:使用不同类型重新定义'array':'DummyClass'与'vector'
答案 0 :(得分:5)
根据语法,无法编译的最后一个示例与重新声明变量DummyClass array;
的{{1}}相同。我认为你的意思是array