[過去ログ] C++相談室 part164 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
238
(1): デフォルトの名無しさん (ワッチョイ 8101-1tDD) [sage] 2023/06/18(日) 21:04:45.70 ID:VwYqKwPk0(1/4) AAS
以下のコードでaccumulateのとこでコンパイルエラーが起こります
何故か分かります?
#include <iostream>
#include <array>
#include <deque>
#include <exception>
#include <numeric>
using Vector = std::array <double, 3>;
using Vector_Container = std::deque <Vector>;
Vector &operator += (Vector &lhs, const Vector &rhs) {
const auto size {lhs.size ()};
if (size != rhs.size ()) throw std::runtime_error ("Sizes are different.");
for (size_t i {0}; i < size; ++ i) lhs [i] += rhs [i];
return lhs;
}
Vector operator + (const Vector &lhs, const Vector &rhs) {
Vector result {lhs};
result += rhs;
return result;
}
int main () {
Vector v0 {0, 1, 2}, v1 {10, 11, 12};
Vector_Container c0 {v0, v1};
accumulate (c0.begin (), c0.end (), Vector {}); // コンパイルエラー
return 0;
}
240: デフォルトの名無しさん (ワッチョイ 8101-1tDD) [sage] 2023/06/18(日) 21:48:16.43 ID:VwYqKwPk0(2/4) AAS
>>239
レス有難うございます
まず訂正
-accumulate
+std::accumulate
全部は貼れないですけど大事そうなところ

In file included from /usr/include/c++/12/numeric:62,
from test1.cpp:18:
/usr/include/c++/12/bits/stl_numeric.h: In instantiation of ‘constexpr _Tp std::accumulate(_InputIterator, _InputIterator, _Tp) [with _InputIterator = _Deque_iterator<array<double, 3 array<double, 3>&, array<double, 3>*>; _Tp = array<double, 3>]’:
test1.cpp:22:14: required from here
/usr/include/c++/12/bits/stl_numeric.h:141:46: error: no match for ‘operator+’ (operand types are ‘std::remove_reference<std::array<double, 3>&>::type’ {aka ‘std::array<double, 3>’} and ‘std::array<double, 3>’)
141 | __init = _GLIBCXX_MOVE_IF_20(__init) + *__first;
242
(1): デフォルトの名無しさん (ワッチョイ 8101-1tDD) [sage] 2023/06/18(日) 23:20:13.62 ID:VwYqKwPk0(3/4) AAS
>>241
>struct Vector : std::array <double, 3> {};
>みたいに定義したらいけるのでは
通りますね
どういうこと?
245
(1): デフォルトの名無しさん (ワッチョイ 8101-1tDD) [sage] 2023/06/18(日) 23:39:19.50 ID:VwYqKwPk0(4/4) AAS
>>243,244
なるほど解説頂きまして有難うございます
グローバルスコープはどっからでも見えて良さそうなものの
何でグローバルスコープの関数を探さないですかね?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s