我被困在利用我的析構函數的 我簡短的代碼結構是這樣的:如何使用析構函數與非指針屬性
class test
{
private:
string code;
int digit, num_digit;
//destructor
~test()
{
if(digit >= 0 && digit > num_digit)
{
for(unsigned int i=0; i<code.length(); i++) delete &code[i];
}
}
};
<more code> .............
<more code> .............
int main()
{
Test test1
test1.~test();
}
我的核心也會被中止通過一部分的析構函數去時。 Unix編譯器說Aborted - 'core dumped' 有什麼想法嗎?
你爲什麼要手動調用'test1。〜test();'?你永遠不應該那樣做! – 2013-04-26 08:39:14
同樣在你的情況下,你的析構函數不僅是多餘的,而且會導致未定義的行爲 – 2013-04-26 08:40:42
@AlexChamberlain實際上有一個罕見的例外,那就是當你使用placement new。 – 2013-04-26 08:42:41