2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C++N4606 Working Draft 2016, ISO/IEC 14882, C++ standard(61) 6.6.3 The return statement [stmt.return] p149

Last updated at Posted at 2018-04-16

#はじめに
N4606 Working Draft, Standard for Programming Language C++
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/#mailing2016-11
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4606.pdf

n4606は、ISO/IEC JTC1 SC22 WG21の作業原案(Working Draft)です。
公式のISO/IEC 14882原本ではありません。
ISO/IEC JTC1 SC22 WG21では、可能な限り作業文書を公開し、幅広い意見を求めています。
一連の記事はコード断片をコンパイルできる形にする方法を検討してコンパイル、リンク、実行して、規格案の原文と処理系(g++, Clang++)との違いを確認し、技術内容を検討し、ISO/IEC JTC1 SC22 WG21にフィードバックするために用います。
また、CERT C++, MISRA C++等のコーディング標準のコード断片をコンパイルする際の参考にさせていただこうと考えています。CERT C++, MISRA C++が標準化の動きとの時間的なずれがあれば確認できれば幸いです。また、boostライブラリとの関連、Linux OS, TOPPERSカーネル、g++(GCC), clang++(LLVM)との関係も調査中です。
何か、抜け漏れ、耳より情報がありましたらおしらせくださると幸いです。

list

N4606 Working Draft 2016, ISO/IEC 14882, C++ standard(1) coding list
https://qiita.com/kaizen_nagoya/items/df5d62c35bd6ed1c3d43/

Compiler

###clang++ --version
clang version 6.0.0 (tags/RELEASE_600/final)

###g++-7 --version
g++-7 (Homebrew GCC 7.3.0_1) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.

#(61)6.6.3 The return statement [stmt.return]
p149.cpp のコードはコピペ間違いかつ、<>がなぜか消えていた。最終コードは、上のp149a.cpp。pairの出力方法は、
https://cpprefjp.github.io/reference/utility/pair.html
に基づいています。

cout関連のエラーがあるとg++が猛烈にエラーを出す現象を記録するために、下のp149.cppは、このままにしています。
あまりにたくさんのエラーでめげて、冷静にコードが見えなくなっていました。改行が入ったためにエラーが出るのは他にも一度経験していました。

##p149a.cpp
###算譜(source code)

p149a.cpp
// N4606 Committee Draft, Standard for Programming Language C++
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4606.pdf
#define msg "p149.cpp(61)6.6.3 The return statement [stmt.return]"

#include <iostream>

std::pair<std::string,int> f(const char* p, int x) {
  return {p,x};
}
int main() {
  const char * p = "The return statement";
  int i=19;
  std::pair <std::string,int> s = f(p,i);
  std::cout <<"<"<< s.first << ","<<s.second<<">"<<std::endl;
  std::cout << msg << std::endl;
  return EXIT_SUCCESS;
}

###編纂・実行結果(compile and go)

cpla.sh
$ ./cpla.sh p149a
$ clang++ p149a.cpp -std=c++03 -Wall
p149a.cpp:9:10: warning: generalized initializer lists are a C++11 extension
      [-Wc++11-extensions]
  return {p,x};
         ^~~~~
p149a.cpp:9:10: error: non-aggregate type 'std::pair<std::string, int>' (aka
      'pair<basic_string<char, char_traits<char>, allocator<char> >, int>') cannot be
      initialized with an initializer list
  return {p,x};
         ^~~~~
1 warning and 1 error generated.
$ clang++ p149a.cpp -std=c++2a -Wall
<The return statement,19>
p149.cpp(61)6.6.3 The return statement [stmt.return]

$ g++-8 p149a.cpp -std=c++03  -Wall
p149a.cpp: In function 'std::pair<std::__cxx11::basic_string<char>, int> f(const char*, int)':
p149a.cpp:9:10: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
   return {p,x};
          ^
<The return statement,19>
p149.cpp(61)6.6.3 The return statement [stmt.return]

$ g++-8 p149a.cpp -std=c++2a  -Wall
<The return statement,19>
p149.cpp(61)6.6.3 The return statement [stmt.return]

##p149.cpp
###算譜(source code)

p149.cpp
// N4606 Committee Draft, Standard for Programming Language C++
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4606.pdf 
#define msg "p149.cpp(61)
6.6.3 The return statement [stmt.return]"

#include <iostream>

std::pairstd::string,int f(const char* p, int x) {
  return {p,x};
}
int main(){
  const char * p = "The return statement";
  int i=1;
  std::cout << msg << std::endl;
  return EXIT_SUCCESS;
}

###編纂・実行結果(compile and go)

./cppgl17.sh p149
$ clang++ p149.cpp
p149.cpp:3:13: warning: missing terminating '"' character [-Winvalid-pp-token]
#define msg "p149.cpp(61)
            ^
p149.cpp:4:1: error: expected unqualified-id
6.6.3 The return statement [stmt.return]"
^
p149.cpp:4:41: warning: missing terminating '"' character [-Winvalid-pp-token]
6.6.3 The return statement [stmt.return]"
                                        ^
p149.cpp:8:6: error: no member named 'pairstd' in namespace 'std'
std::pairstd::string,int f(const char* p, int x) {
~~~~~^
p149.cpp:14:16: error: expected expression
  std::cout << msg << std::endl;
               ^
p149.cpp:3:13: note: expanded from macro 'msg'
#define msg "p149.cpp(61)
            ^
2 warnings and 3 errors generated.

$ g++-7 p149.cpp
p149.cpp:3:13: warning: missing terminating " character
 #define msg "p149.cpp(61)
             ^
p149.cpp:4:1: error: too many decimal points in number
 6.6.3 The return statement [stmt.return]"
 ^~~~~
p149.cpp:4:41: warning: missing terminating " character
 6.6.3 The return statement [stmt.return]"
                                         ^
p149.cpp:4:41: error: missing terminating " character
p149.cpp:3:13: error: missing terminating " character
 #define msg "p149.cpp(61)
             ^
p149.cpp:14:16: note: in expansion of macro 'msg'
   std::cout << msg << std::endl;
                ^~~
p149.cpp:4:1: error: expected unqualified-id before numeric constant
 6.6.3 The return statement [stmt.return]"
 ^~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:98:11: error: 'ptrdiff_t' does not name a type
   typedef ptrdiff_t streamsize; // Signed integral type
           ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:120:31: error: declaration of 'operator new' as non-function
 void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                               ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:120:25: error: 'size_t' is not a member of 'std'
 void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                         ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:120:25: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:122:33: error: declaration of 'operator new []' as non-function
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                                 ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:122:27: error: 'size_t' is not a member of 'std'
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                           ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:122:27: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:129:29: error: 'std::size_t' has not been declared
 void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
                             ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:131:31: error: 'std::size_t' has not been declared
 void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
                               ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:134:25: error: declaration of 'operator new' as non-function
 void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                         ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:134:25: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:134:25: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:134:33: error: expected primary-expression before 'const'
 void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                                 ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:136:27: error: declaration of 'operator new []' as non-function
 void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                           ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:136:27: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:136:27: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:136:35: error: expected primary-expression before 'const'
 void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                                   ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:143:25: error: declaration of 'operator new' as non-function
 void* operator new(std::size_t, std::align_val_t)
                         ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:143:25: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:143:25: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:143:49: error: expected primary-expression before ')' token
 void* operator new(std::size_t, std::align_val_t)
                                                 ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:145:25: error: declaration of 'operator new' as non-function
 void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
                         ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:145:25: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:145:25: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:145:49: error: expected primary-expression before ',' token
 void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
                                                 ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:145:51: error: expected primary-expression before 'const'
 void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
                                                   ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:151:27: error: declaration of 'operator new []' as non-function
 void* operator new[](std::size_t, std::align_val_t)
                           ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:151:27: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:151:27: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:151:51: error: expected primary-expression before ')' token
 void* operator new[](std::size_t, std::align_val_t)
                                                   ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:153:27: error: declaration of 'operator new []' as non-function
 void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
                           ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:153:27: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:153:27: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:153:51: error: expected primary-expression before ',' token
 void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
                                                   ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:153:53: error: expected primary-expression before 'const'
 void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
                                                     ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:160:29: error: 'std::size_t' has not been declared
 void operator delete(void*, std::size_t, std::align_val_t)
                             ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:162:31: error: 'std::size_t' has not been declared
 void operator delete[](void*, std::size_t, std::align_val_t)
                               ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:168:32: error: declaration of 'operator new' as non-function
 inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:168:32: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:168:32: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:168:40: error: expected primary-expression before 'void'
 inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                        ^~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:170:34: error: declaration of 'operator new []' as non-function
 inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                  ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:170:34: error: 'size_t' is not a member of 'std'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:170:34: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/new:170:42: error: expected primary-expression before 'void'
 inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                          ^~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:362:26: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                          ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:363:25: error: '_Size' was not declared in this scope
     struct is_array<_Tp[_Size]>
                         ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:363:31: error: template argument 1 is invalid
     struct is_array<_Tp[_Size]>
                               ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:561:42: error: 'nullptr_t' is not a member of 'std'
     struct __is_null_pointer_helper<std::nullptr_t>
                                          ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:561:42: note: suggested alternative:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/cxxabi_init_exception.h:38:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/exception_ptr.h:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:142,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/lib/gcc/7/gcc/x86_64-apple-darwin17.4.0/7.3.0/include/stddef.h:444:29: note:   'nullptr_t'
   typedef decltype(nullptr) nullptr_t;
                             ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:561:51: error: template argument 1 is invalid
     struct __is_null_pointer_helper<std::nullptr_t>
                                                   ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1464:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, __alignof__(_Tp)> { };
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1464:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1464:61: error: template argument 1 is invalid
     : public integral_constant<std::size_t, __alignof__(_Tp)> { };
                                                             ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1464:61: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1469:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 0> { };
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1469:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1469:46: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 0> { };
                                              ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1469:46: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1471:26: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                          ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1472:21: error: '_Size' was not declared in this scope
     struct rank<_Tp[_Size]>
                     ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1472:27: error: template argument 1 is invalid
     struct rank<_Tp[_Size]>
                           ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1473:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1473:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1473:65: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                                                 ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1473:65: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1477:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1477:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1477:65: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                                                 ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1477:65: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1482:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 0> { };
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1482:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1482:46: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 0> { };
                                              ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1482:46: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1484:42: error: 'std::size_t' has not been declared
   template<typename _Tp, unsigned _Uint, std::size_t _Size>
                                          ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1485:23: error: '_Size' was not declared in this scope
     struct extent<_Tp[_Size], _Uint>
                       ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1485:36: error: template argument 1 is invalid
     struct extent<_Tp[_Size], _Uint>
                                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1486:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t,
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1486:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1487:24: error: '_Size' was not declared in this scope
           _Uint == 0 ? _Size : extent<_Tp,
                        ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1488:28: error: template argument 1 is invalid
           _Uint - 1>::value>
                            ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1488:28: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1493:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t,
                                     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1493:37: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/move.h:54:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/nested_exception.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/exception:143,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1495:31: error: template argument 1 is invalid
              _Uint - 1>::value>
                               ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1495:31: note: invalid template non-type parameter
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1944:26: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                          ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1945:30: error: '_Size' was not declared in this scope
     struct remove_extent<_Tp[_Size]>
                              ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1945:36: error: template argument 1 is invalid
     struct remove_extent<_Tp[_Size]>
                                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1957:26: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                          ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1958:35: error: '_Size' was not declared in this scope
     struct remove_all_extents<_Tp[_Size]>
                                   ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:1958:41: error: template argument 1 is invalid
     struct remove_all_extents<_Tp[_Size]>
                                         ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2016:12: error: 'std::size_t' has not been declared
   template<std::size_t _Len>
            ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2021:23: error: '_Len' was not declared in this scope
  unsigned char __data[_Len];
                       ^~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2036:12: error: 'std::size_t' has not been declared
   template<std::size_t _Len, std::size_t _Align =
            ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2036:30: error: 'std::size_t' has not been declared
   template<std::size_t _Len, std::size_t _Align =
                              ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2037:48: error: '_Len' was not declared in this scope
     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
                                                ^~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2037:52: error: template argument 1 is invalid
     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
                                                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2042:23: error: '_Len' was not declared in this scope
  unsigned char __data[_Len];
                       ^~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/type_traits:2043:37: error: '_Align' was not declared in this scope
  struct __attribute__((__aligned__((_Align)))) { } __align;
                                     ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_algobase.h:62:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of symbol
   __is_null_pointer(std::nullptr_t)
                                   ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)'
     __is_null_pointer(_Type)
     ^~~~~~~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std'
   __is_null_pointer(std::nullptr_t)
                          ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/type_traits.h:162:26: note: suggested alternative: '__is_nullptr_t'
   __is_null_pointer(std::nullptr_t)
                          ^~~~~~~~~
                          __is_nullptr_t
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_algobase.h:64:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:39,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:86:12: error: 'std::size_t' has not been declared
   template<std::size_t...>
            ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:429:36: error: 'std::size_t' has not been declared
       template<typename... _Args1, std::size_t... _Indexes1,
                                    ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:430:36: error: 'std::size_t' has not been declared
                typename... _Args2, std::size_t... _Indexes2>
                                    ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:27: error: '_Indexes1' was not declared in this scope
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                           ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:27: note: suggested alternative: '_Index_tuple'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                           ^~~~~~~~~
                           _Index_tuple
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:36: error: expected parameter pack before '...'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                    ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:39: error: template argument 1 is invalid
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                       ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:55: error: '_Indexes2' was not declared in this scope
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                       ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:55: note: suggested alternative: '_Index_tuple'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                       ^~~~~~~~~
                                                       _Index_tuple
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:64: error: expected parameter pack before '...'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                                ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/stl_pair.h:432:67: error: template argument 1 is invalid
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                                   ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:108:61: error: 'std::size_t' has not been declared
       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
                                                             ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:110:40: error: 'size_t' in namespace 'std' does not name a type
       static _GLIBCXX14_CONSTEXPR std::size_t
                                        ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:114:34: error: 'std::size_t' has not been declared
       find(const char_type* __s, std::size_t __n, const char_type& __a);
                                  ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:117:52: error: 'std::size_t' has not been declared
       move(char_type* __s1, const char_type* __s2, std::size_t __n);
                                                    ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:120:52: error: 'std::size_t' has not been declared
       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
                                                    ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:123:30: error: 'std::size_t' has not been declared
       assign(char_type* __s, std::size_t __n, char_type __a);
                              ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:151:59: error: 'std::size_t' has not been declared
     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
                                                           ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h: In static member function 'static constexpr int __gnu_cxx::char_traits<_CharT>::compare(const char_type*, const char_type*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:153:17: error: 'size_t' is not a member of 'std'
       for (std::size_t __i = 0; __i < __n; ++__i)
                 ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:153:17: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:153:33: error: '__i' was not declared in this scope
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:153:33: note: suggested alternative: '__n'
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
                                 __n
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h: At global scope:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:162:31: error: 'size_t' in namespace 'std' does not name a type
     _GLIBCXX14_CONSTEXPR std::size_t
                               ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:175:32: error: 'std::size_t' has not been declared
     find(const char_type* __s, std::size_t __n, const char_type& __a)
                                ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h: In static member function 'static constexpr const char_type* __gnu_cxx::char_traits<_CharT>::find(const char_type*, int, const char_type&)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:177:17: error: 'size_t' is not a member of 'std'
       for (std::size_t __i = 0; __i < __n; ++__i)
                 ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:177:17: note: suggested alternative:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/wchar.h:75:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/cwchar:44,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/postypes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iosfwd:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note:   'size_t'
 typedef __darwin_size_t        size_t;
                                ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:177:33: error: '__i' was not declared in this scope
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:177:33: note: suggested alternative: '__s'
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
                                 __s
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h: At global scope:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:186:50: error: 'std::size_t' has not been declared
     move(char_type* __s1, const char_type* __s2, std::size_t __n)
                                                  ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:195:50: error: 'std::size_t' has not been declared
     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
                                                  ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:205:28: error: 'std::size_t' has not been declared
     assign(char_type* __s, std::size_t __n, char_type __a)
                            ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<char>::length(const char_type*)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:318:46: error: 'length' is not a member of '__gnu_cxx::char_traits<char>'
    return __gnu_cxx::char_traits<char_type>::length(__s);
                                              ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<wchar_t>::length(const char_type*)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/char_traits.h:428:46: error: 'length' is not a member of '__gnu_cxx::char_traits<wchar_t>'
    return __gnu_cxx::char_traits<char_type>::length(__s);
                                              ^~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/x86_64-apple-darwin17.4.0/bits/c++allocator.h:33:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/allocator.h:46,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/new_allocator.h: At global scope:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/new_allocator.h:44:14: error: 'std::size_t' has not been declared
   using std::size_t;
              ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/new_allocator.h:45:14: error: 'std::ptrdiff_t' has not been declared
   using std::ptrdiff_t;
              ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:44:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:45:26: error: 'streamsize' has not been declared
       const _CharT* __s, streamsize __n)
                          ^~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h: In function 'void std::__ostream_write(std::basic_ostream<_CharT, _Traits>&, const _CharT*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:50:13: error: 'streamsize' does not name a type; did you mean 'streambuf'?
       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
             ^~~~~~~~~~
             streambuf
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:51:11: error: '__put' was not declared in this scope
       if (__put != __n)
           ^~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:51:11: note: suggested alternative: '__out'
       if (__put != __n)
           ^~~~~
           __out
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h: At global scope:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:57:59: error: 'streamsize' has not been declared
     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
                                                           ^~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:77:27: error: 'streamsize' has not been declared
        const _CharT* __s, streamsize __n)
                           ^~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h: In function 'std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:87:14: error: 'streamsize' does not name a type; did you mean 'streambuf'?
        const streamsize __w = __out.width();
              ^~~~~~~~~~
              streambuf
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:88:12: error: '__w' was not declared in this scope
        if (__w > __n)
            ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:88:12: note: suggested alternative: '__s'
        if (__w > __n)
            ^~~
            __s
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h: At global scope:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:118:68: error: 'streamsize' has not been declared
   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
                                                                    ^~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ostream_insert.h:122:11: error: 'streamsize' has not been declared
           streamsize);
           ^~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:36:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/alloc_traits.h:404:36: error: 'ptrdiff_t' in namespace 'std' does not name a type
       using difference_type = std::ptrdiff_t;
                                    ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/alloc_traits.h:407:30: error: 'size_t' in namespace 'std' does not name a type
       using size_type = std::size_t;
                              ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/alloc_traits.h:435:37: error: 'size_type' has not been declared
       allocate(allocator_type& __a, size_type __n)
                                     ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/alloc_traits.h:449:37: error: 'size_type' has not been declared
       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
                                     ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/alloc_traits.h:461:52: error: 'size_type' has not been declared
       deallocate(allocator_type& __a, pointer __p, size_type __n)
                                                    ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/alloc_traits.h:494:14: error: 'size_type' does not name a type; did you mean 'true_type'?
       static size_type
              ^~~~~~~~~
              true_type
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:55:46: error: 'std::size_t' has not been declared
     const char* __name, const _CharT* __str, std::size_t* __idx,
                                              ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:43: error: 'std::size_t' has not been declared
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
                                           ^~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:100:26: error: 'std::size_t' has not been declared
      __builtin_va_list), std::size_t __n,
                          ^~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<char> >':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:80:24:   required from 'class std::__cxx11::basic_string<char>'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6360:68:   required from here
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:61:53: error: no type named 'size_type' in 'struct std::allocator_traits<std::allocator<char> >'
     typedef typename _Base_type::size_type          size_type;
                                                     ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:62:53: error: no type named 'difference_type' in 'struct std::allocator_traits<std::allocator<char> >'
     typedef typename _Base_type::difference_type    difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:70:23: error: no members matching '__gnu_cxx::__alloc_traits<std::allocator<char> >::_Base_type {aka std::allocator_traits<std::allocator<char> >}::max_size' in '__gnu_cxx::__alloc_traits<std::allocator<char> >::_Base_type {aka struct std::allocator_traits<std::allocator<char> >}'
     using _Base_type::max_size;
                       ^~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'int std::__cxx11::stoi(const string&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6361:19: error: no matching function for call to '__stoa<long int, int>(long int (*)(const char*, char**, int), const char [5], const char*, size_t*&, int&)'
      __idx, __base); }
                   ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6361:19: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
      __idx, __base); }
                   ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long int std::__cxx11::stol(const string&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6366:22: error: no matching function for call to '__stoa(long int (*)(const char*, char**, int), const char [5], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6366:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
         __idx, __base); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long unsigned int std::__cxx11::stoul(const string&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6371:22: error: no matching function for call to '__stoa(long unsigned int (*)(const char*, char**, int), const char [6], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6371:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
         __idx, __base); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long long int std::__cxx11::stoll(const string&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6376:22: error: no matching function for call to '__stoa(long long int (*)(const char*, char**, int), const char [6], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6376:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
         __idx, __base); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long long unsigned int std::__cxx11::stoull(const string&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6381:22: error: no matching function for call to '__stoa(long long unsigned int (*)(const char*, char**, int), const char [7], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6381:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
         __idx, __base); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'float std::__cxx11::stof(const string&, size_t*)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6386:72: error: no matching function for call to '__stoa(float (*)(const char*, char**), const char [5], const char*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
                                                                        ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6386:72: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
                                                                        ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'double std::__cxx11::stod(const string&, size_t*)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6390:72: error: no matching function for call to '__stoa(double (*)(const char*, char**), const char [5], const char*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
                                                                        ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6390:72: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
                                                                        ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long double std::__cxx11::stold(const string&, size_t*)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6394:74: error: no matching function for call to '__stoa(long double (*)(const char*, char**), const char [6], const char*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
                                                                          ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6394:74: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
                                                                          ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6404:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), long unsigned int, const char [3], int&)'
         "%d", __val); }
                    ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6404:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%d", __val); }
                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(unsigned int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6410:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), long unsigned int, const char [3], unsigned int&)'
         "%u", __val); }
                    ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6410:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%u", __val); }
                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6415:21: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), long unsigned int, const char [4], long int&)'
         "%ld", __val); }
                     ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6415:21: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%ld", __val); }
                     ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long unsigned int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6421:21: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), long unsigned int, const char [4], long unsigned int&)'
         "%lu", __val); }
                     ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6421:21: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%lu", __val); }
                     ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long long int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6427:22: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), long unsigned int, const char [5], long long int&)'
         "%lld", __val); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6427:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%lld", __val); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long long unsigned int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6433:22: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), long unsigned int, const char [5], long long unsigned int&)'
         "%llu", __val); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6433:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%llu", __val); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(float)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6441:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), const int&, const char [3], float&)'
         "%f", __val);
                    ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6441:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%f", __val);
                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(double)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6450:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), const int&, const char [3], double&)'
         "%f", __val);
                    ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6450:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%f", __val);
                    ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long double)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6459:21: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*), const int&, const char [4], long double&)'
         "%Lf", __val);
                     ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6459:21: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%Lf", __val);
                     ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:40:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<wchar_t> ':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:80:24:   required from 'class std::__cxx11::basic_string<wchar_t>'
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6466:68:   required from here
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:61:53: error: no type named 'size_type' in 'struct std::allocator_traits<std::allocator<wchar_t> >'
     typedef typename _Base_type::size_type          size_type;
                                                     ^~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:62:53: error: no type named 'difference_type' in 'struct std::allocator_traits<std::allocator<wchar_t> >'
     typedef typename _Base_type::difference_type    difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/alloc_traits.h:70:23: error: no members matching '__gnu_cxx::__alloc_traits<std::allocator<wchar_t> >::_Base_type {aka std::allocator_traits<std::allocator<wchar_t> >}::max_size' in '__gnu_cxx::__alloc_traits<std::allocator<wchar_t> >::_Base_type {aka struct std::allocator_traits<std::allocator<wchar_t> >}'
     using _Base_type::max_size;
                       ^~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'int std::__cxx11::stoi(const wstring&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6467:19: error: no matching function for call to '__stoa<long int, int>(long int (*)(const wchar_t*, wchar_t**, int), const char [5], const wchar_t*, size_t*&, int&)'
      __idx, __base); }
                   ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6467:19: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
      __idx, __base); }
                   ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long int std::__cxx11::stol(const wstring&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6472:22: error: no matching function for call to '__stoa(long int (*)(const wchar_t*, wchar_t**, int), const char [5], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6472:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
         __idx, __base); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long unsigned int std::__cxx11::stoul(const wstring&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6477:22: error: no matching function for call to '__stoa(long unsigned int (*)(const wchar_t*, wchar_t**, int), const char [6], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6477:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*') to type 'int*'
         __idx, __base); }
                      ^
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h: In function 'long long int std::__cxx11::stoll(const wstring&, size_t*, int)':
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6482:22: error: no matching function for call to '__stoa(long long int (*)(const wchar_t*, wchar_t**, int), const char [6], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/basic_string.h:6349:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/string:52:0,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ostream:38,
                 from /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/iostream:39,
                 from p149.cpp:6:
/usr/local/Cellar/gcc/7.3.0_1/include/c++
p149a.cpp
// N4606 Committee Draft, Standard for Programming Language C++
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4606.pdf
#define msg "p149.cpp(61)6.6.3 The return statement [stmt.return]"

#include <iostream>
#include <cstdlib>

std::pair<std::string,int> f(const char* p, int x) {
  return {p,x};
}
int main(){
  const char * p = "The return statement";
  int i=1;
  std::cout << msg << std::endl;
  return EXIT_SUCCESS;
}
$ ./cppgl17.sh p149a
$ clang++ p149a.cpp
p149.cpp(61)6.6.3 The return statement [stmt.return]

$ g++-7 p149a.cpp
p149.cpp(61)6.6.3 The return statement [stmt.return]

#検討事項
clang++とg++の警告の有無の背景。
clang++ warninig
g++ no warning

#参考資料
pair cpprefjp
https://cpprefjp.github.io/reference/utility/pair.html

コンパイル用shell script C版(clangとgcc)とC++版(clang++とg++)
https://qiita.com/kaizen_nagoya/items/74220c0577a512c2d7da

Qiitaに投稿するCのStyle例(暫定)
https://qiita.com/kaizen_nagoya/items/946df1528a6a1ef2bc0d

MISRA C++ 5-0-16
https://qiita.com/kaizen_nagoya/items/7df2d4e05db724752a74

C++ Templates Part1 BASICS Chapter 3. Class Templates 3.2 Use of Class Template Stack stack1test.cpp
https://qiita.com/kaizen_nagoya/items/cd5fc49106fad5a4e9ed

ISO/IEC TS 17961:2013 C Secure Coding Rules(1) All list(to be confirmed)
https://qiita.com/kaizen_nagoya/items/54e056195c4f11b850a1

C言語(C++)に対する誤解、曲解、無理解、爽快。
https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a

C Puzzle Bookの有り難み5つ、C言語規格及びCコンパイラの特性を認識
https://qiita.com/kaizen_nagoya/items/d89a48c1536a02ecdec9

'wchar.h' file not found で困った clang++ macOS
https://qiita.com/kaizen_nagoya/items/de15cd46d657517fac11

Open POSIX Test Suiteの使い方を調べはじめました
https://qiita.com/kaizen_nagoya/items/644d5e407f5faf96e6dc

MISRA-C 2012 Referenceに掲載している文献の入手可能性を確認
https://qiita.com/kaizen_nagoya/items/96dc8b125e462d5575bb

どうやって MISRA Example Suiteをコンパイルするか
https://qiita.com/kaizen_nagoya/items/fbdbff5ff696e2ca7f00

MISRA C まとめ #include
https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9

#文書履歴
0.10 初稿 20180416
0.20 pair 出力 20180522

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?