Информация об изменениях

Сообщение Re: range-declaration при range-based for от 28.11.2023 21:04

Изменено 28.11.2023 21:06 reversecode

Re: range-declaration при range-based for
можно (int*)
pin p2 = (int*)arr_of_ptr[0]; // error:   case 2


но в остальном оно имеет несколько другую природу как мне кажется
смотрите выхлоп

https://cppinsights.io/

/home/insights/insights.cpp:36:14: error: no viable conversion from 'value_type' (aka 'com::ptr<int>') to 'pin'
36 | for (pin p : arr_of_ptr) // error: no viable conversion from 'value_type'
| ^ ~
/home/insights/insights.cpp:23:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'value_type' (aka 'com::ptr<int>') to 'const pin &' for 1st argument
23 | class pin
| ^~~
/home/insights/insights.cpp:23:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'value_type' (aka 'com::ptr<int>') to 'pin &&' for 1st argument
23 | class pin
| ^~~
/home/insights/insights.cpp:26:5: note: candidate constructor not viable: no known conversion from 'value_type' (aka 'com::ptr<int>') to 'int *' for 1st argument
26 | pin(int* v) {};
| ^ ~~~~~~
/home/insights/insights.cpp:16:9: note: candidate function
16 | operator interface_t*() const noexcept { return m_ptr; }
| ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/array:132:7: note: selected 'begin' function with iterator type 'iterator' (aka 'com::ptr<int> *')
132 | begin() noexcept
| ^
1 error generated.
Error while processing /home/insights/insights.cpp.

Re: range-declaration при range-based for
можно (int*)
pin p2 = (int*)arr_of_ptr[0]; // error:   case 2


но в остальном оно имеет несколько другую природу как мне кажется