问题有人能向我解释为什么...与C++模板类初始化
DataStructure<MyClass> ds;
cin >> size;
ds = DataStructure<MyClass>(size);
导致我的程序崩溃,但...
cin >> size;
DataStructure<MyClass> ds = DataStructure<MyClass>(size);
不?
我认为这与我的程序使用默认的构造函数有关,后面尝试使用隐式拷贝构造函数,但我不确定。
为了让更多的背景,我创建一个哈希表类,并在默认的构造函数,我与数据数组初始化为nullptr
并与size
参数的构造,我创建一个数据数组new T * [size]
和将每个元素设置为nullptr
。
Constructor without any parameters:
this->data = nullptr;
与
Constructor with size parameter:
this->data= new T * [size];
for(int i = 0; i< size; i++)
{
data[i] = nullptr;
}
的'DataStructure'模板坏了。将其退还给供应商并要求退款。 –
'Foo a; a = Foo(bar);'!='Foo a = Foo(bar);' – Paranaix
'a'最终是否是相同的值?如果不是,你能解释为什么不? – Mikey