在 C 中,當重載接受多種類型的方法時,必須注意潛在的歧義。如下圖所示:
<code class="cpp">class Output { public: static void Print(bool value) { std::cout << (value ? "True" : "False"); } static void Print(std::string value) { std::cout << value; } };</code>
如果我們嘗試使用如下字串文字呼叫Print 方法:
<code class="cpp">Output::Print("Hello World");</code>
意外地,輸出是“True”而不是“Hello World” ” 。但是,它們可以隱式轉換為布林值。和標準轉換
這解決了歧義並正確輸出「Hello World」。影響在C 中至關重要。
以上是為什麼在重載的 C 列印方法中'Hello World”列印為'True”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!