タグ付けされた質問 「return-type」

関数によって返される変数または値のタイプを扱う質問用です。

5
テンプレートで正しいタイプのデータを返す方法は?
#include <iostream> using namespace std; template <class X, class Y> Y big(X a, Y b) { if (a > b) return (a); else return (b); } int main() { cout << big(32.8, 9); } ここではCPPでテンプレートを使用しているためbig、doubleとinttypeの引数をバイパスして関数を呼び出すと、である返答が必要ですdouble。ここではタイプで、の32代わりに返されます32.8。 どのようにして希望の出力を得るのですか big関数の適切な戻り値の型を記述する方法は?

2
Rustが誤った戻り型のコードを許可するのはなぜですか?
次のRustコードを考えます。 fn f() -> i32 { loop { println!("Infinite loop!"); } println!("Unreachable"); } 戻り値の型が間違っているにもかかわらず、これは(警告付きで)コンパイルされて実行されます。コンパイラーは()、このコードに到達できないことを検出するため、最終行の戻り値のタイプがOKであるように見えます。 ただし、最後のセミコロンを削除すると、次のようになります。 fn f() -> i32 { loop { println!("Infinite loop!"); } println!("Unreachable") } その後、コードはコンパイルされなくなり、型エラーが発生します。 error[E0308]: mismatched types --> src/main.rs:14:5 | 14 | println!("Unreachable") | ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `()` | = note: this error originates in …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.