1
我有一個靜態函數在.cpp函數中聲明,我不能在頭中聲明,因爲它不應該是可見。 我想在同一個項目中的另一個.cpp中重新使用它。有沒有辦法使用在另一個.cpp在同一個項目中的.cpp中聲明的靜態void
可以做到這一點嗎?
我有一個靜態函數在.cpp函數中聲明,我不能在頭中聲明,因爲它不應該是可見。 我想在同一個項目中的另一個.cpp中重新使用它。有沒有辦法使用在另一個.cpp在同一個項目中的.cpp中聲明的靜態void
可以做到這一點嗎?
這裏有兩個問題:
關於第一個問題,請查看extern
keyword。如果您不在功能上使用static
,則可以在不同的源文件中使用extern
關鍵字「重新聲明」,然後使用它。
關於第二個問題,可能有更好的選擇,例如「詳細」或「實施」名稱空間(請參閱some thoughts on best practices for namespaces)。使用完善的約定,您可以傳達一些聲明僅用於實現,而不是界面的一部分。
不可以,通過使它成爲'靜態',它僅在[*翻譯單元*](https://en.wikipedia.org/wiki/Translation_unit_%28programming%29)中可見(大致包含所有頭文件的源文件)該功能是在 –
中定義的你是自相矛盾的 - 因此這就是答案 –
對誰而言不應該看到? –