2016-02-29 43 views
-1

我面對此錯誤消息內部錯誤:錯誤C1001:發生在調試模式下,編譯

錯誤C1001:發生在編譯

內部錯誤看起來只是在Debug模式下。沒有線索說明爲什麼會發生這種情況。編譯器不會給我任何提示。當我點擊這個錯誤時,它會帶我去空白名爲xxx.obj的文件。

平臺:

  • 的Visual Studio 2013
  • 英特爾酷睿i7
  • 的Windows 8
+0

http://stackoverflow.com/help/mcve是,儘管自回答問題。 –

+0

有人刪除了評論嗎? –

+0

沒有? –

回答

1

我挖成我收到警告後想通的問題。有一個suspecios其中之一是:

警告C4239:非標準擴展使用: '參數':從 'T' 轉換到 'T &'

該警告是因爲這一行的:

auto x = foo(bar{}); 

函數foo聲明如下:

int foo(bar&); 

這behavouir不standared因爲在這裏discuueed:Is it possible to know if the parameter was defaulted。但是,MSVS支持這種行爲作爲非標準擴展。

通常它沒有任何問題,但由於在這個項目中的不知名的事情,它沒有任何問題的工作。

與這兩條線修正完後:

bar temp{}; 
auto x = foo(temp); 

一切運作良好。

+0

你得到它沉默,但沒有發現觸發編譯器內部問題的實際例子。 –

+0

是的,它是正確的。但是,我只是想通知使用此擴展可能導致不良行爲。 –

相關問題