2017-09-20 2 views
1

私は履歴書を作成しようとしています::のRectオブジェクトCVのために働いていないstatic_castをなぜ:: Rectを

なぜcv::Rect(100,100,100,100)。作品 しかし、static_cast<cv::Rect>(100,100,100,100);失敗する?

最初はコンストラクタであり、もう1つは単にcv::Rectオブジェクトにパラメータを型キャストしようとしていることを理解しています。

ここでstatic_castを使用する方法はありますか?最初のケースで

+0

これは、型変換式に100,100,100,100を代入する方法です。 –

答えて

4

(100,100,100,100)cv::Rectコンストラクタためパラメータリストあります。第2のケースで

(100,100,100,100)この文脈における発現セパレータオペレータとして,働くこと100注に評価あります。

static_cast<cv::Rect>(100)明らかに失敗します。

static_castを使用する方法はありません。のユーザー定義リテラルの暗い世界に入る場合は、と入力してください。しかし、その場合でも、構文を多少調整する必要があります。その後、static_castを完全に削除することができます。

+0

"(100,100,100,100)は100と評価される式です"と答えてくれてありがとう。 –

関連する問題