我想知道爲什麼訪問衝突的cout和堆棧溢出在下面的兩段代碼爲發生的printf訪問衝突。爲什麼對cout和堆棧溢出的printf的
我想知道爲什麼訪問衝突的第一個代碼而不是堆棧溢出。
首先代碼,我得到的訪問衝突:
void Test();
void Test()
{
static int i = 0;
cout << i++ << endl;
Test();
}
int main()
{
Test();
return 0;
}
二代碼,我得到堆棧溢出:
void Test();
void Test()
{
static int i = 0;
printf("%d\n", i++);
Test();
}
int main()
{
Test();
return 0;
}
答案將得到高度讚賞。
在此先感謝
是否包含了正確的頭文件? – Toad 2009-10-15 07:19:20
嗯...你問爲什麼第一個例子給出了一個訪問衝突而不是堆棧溢出,作爲迴應,大家都在告訴你爲什麼第二個例子會導致堆棧溢出。有趣的是,每個人都回答他們知道答案的問題,而不是你實際問到的問題。 – 2009-10-15 07:26:06
同意保羅。 – 2009-10-15 07:30:28