前提・実現したいこと
std::atomic<double>型の変数を宣言し、その変数に対して+=演算子を用いて加算を行いたいです。
発生している問題・エラーメッセージ
エラー C2676 二項演算子 '+=': 'std::atomic<double>' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。(新しい動作; ヘルプを参照) (ソース ファイルをコンパイルしています atomic_test.cpp)
該当のソースコード
C++
1std::atomic<double> x = 3.14; 2x += 25.6;
試したこと
プロジェクトのプロパティ→構成プロパティ→C/C++→言語→C++言語標準を「プレビュー 最新のC++ Working Draftからの機能」に変更してみましたが、解決しませんでした。
補足情報(FW/ツールのバージョンなど)
IDE:Visual Studio Enterprise 2019 Preview (Version 16.0.0 Preview 2.2)
LONG型ならInterlockedAdd()を用いて同等の処理が可能ですので、InterlockedAddDouble()の様な関数が有れば、それで代用することも検討しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/16 09:19