В экземпляре шаблона NDK не может быть скомпилирован оператор < - PullRequest
0 голосов
/ 13 декабря 2018

Я использую оператор << в пользовательском классе.Он прекрасно компилируется в VS2017, но не в NDK. </p>

static std::ostream & operator << (std::ostream & os, const V & v2) { return os << V.x; }

В NDK он просматривает список специализаций шаблонов в basic_ostream и не может его найти.

 D:/Library/android-ndk-r16/build//../sources/cxx-stl/llvm-libc++/include\ostream:1036:10: error: invalid operands to binary expression ('std::__ndk1::basic_ostringstream<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >' and 'const cocos2d::Vec2')
  __os << __x;

 D:/Library/android-ndk-r16/build//../sources/cxx-stl/llvm-libc++/include\ostream:218:20: note: candidate function not viable: no known conversion from 'const V' to 'const void *' for 1st argument; take the address of the argument with &
  basic_ostream& operator<<(const void* __p);
                 ^
 D:/Library/android-ndk-r16/build//../sources/cxx-stl/llvm-libc++/include\ostream:755:1: note: candidate function not viable: no known conversion from 'const V' to 'char' for 2nd argument operator<<(basic_ostream<_CharT, _Traits>& __os, char __cn)

  D:/Library/android-ndk-r16/build//../sources/cxx-stl/llvm-libc++/include\ostream:788:1: note: candidate function not viable: no known conversion from 'const V' to 'char' for 2nd argument operator<<(basic_ostream<char, _Traits>& __os, char __c)

.и т.д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...