2012-02-06 29 views
1

使用VS 2010 Professional,我創建了一個新的C++項目。在C#項目中,在標記特定代碼行後,我經常在上下文菜單中使用「轉到定義」功能(或僅按下F2鍵)。我也想在C++項目中使用相同的行爲/功能,但不幸的是,在C++項目中,它不起作用。 「轉到定義」,「轉到聲明」以及「轉到頭文件」都不起作用。沒有任何反應,沒有錯誤信息,沒有任何事怎麼了?VS 2010,C++項目中的代碼導航

比方說,我已經例如下面的代碼行:

wstring str = L"blah"; 

有沒有警告,也沒有從編譯器的消息。在控制檯上打印str也可以正常工作。所以,一切都應該沒問題。如果我現在標記L(應該是一個宏或類似的東西?),並嘗試導航到聲明,定義或頭文件,什麼都不會發生。這是默認情況下還是VS有問題?

+7

'L'不是宏,它是將字符串字面值指定爲_wide_字符串文字的語言的一部分。你不會期望「去聲明」爲'int'工作嗎? – ildjarn 2012-02-06 20:00:25

回答

3

L是「加寬」字符串文字的前綴。 您從這樣的表達式中獲得const wchar_t*而不僅僅是const char*。 它不是一個宏,它是語言的一部分,如後綴f浮點常數1.333333f它表示精度。