RayTracer.cpp:1:1: error: ‘include’ does not name a type include "../graphics3dUtilities.h" ^~~~~~~ In file included from /usr/include/c++/7/cmath:43:0, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/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/include/c++/7/ext/type_traits.h:157:5: note: previous declaration ‘template bool __gnu_cxx::__is_null_pointer(_Type)’ __is_null_pointer(_Type) ^~~~~~~~~~~~~~~~~ /usr/include/c++/7/ext/type_traits.h:162:26: error: ‘nullptr_t’ is not a member of ‘std’ __is_null_pointer(std::nullptr_t) ^~~~~~~~~ In file included from /usr/include/glm/glm.hpp:81:0, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/setup.hpp:765:13: error: ‘std::size_t’ has not been declared using std::size_t; ^~~~~~ /usr/include/glm/detail/setup.hpp:788:29: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/setup.hpp:789:18: error: ‘size_t’ in namespace ‘std’ does not name a type constexpr std::size_t countof(T const (&)[N]) ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:362:31: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/type_traits:363:25: error: ‘_Size’ was not declared in this scope struct is_array<_Tp[_Size]> ^~~~~ /usr/include/c++/7/type_traits:363:31: error: template argument 1 is invalid struct is_array<_Tp[_Size]> ^ /usr/include/c++/7/type_traits:561:42: error: ‘nullptr_t’ is not a member of ‘std’ struct __is_null_pointer_helper ^~~~~~~~~ /usr/include/c++/7/type_traits:561:42: note: suggested alternative: In file included from /usr/include/c++/7/cstddef:50:0, from /usr/include/glm/detail/setup.hpp:19, from /usr/include/glm/glm.hpp:81, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:444:29: note: ‘nullptr_t’ typedef decltype(nullptr) nullptr_t; ^~~~~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:561:42: error: ‘nullptr_t’ is not a member of ‘std’ struct __is_null_pointer_helper ^~~~~~~~~ /usr/include/c++/7/type_traits:561:42: note: suggested alternative: In file included from /usr/include/c++/7/cstddef:50:0, from /usr/include/glm/detail/setup.hpp:19, from /usr/include/glm/glm.hpp:81, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:444:29: note: ‘nullptr_t’ typedef decltype(nullptr) nullptr_t; ^~~~~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:561:51: error: template argument 1 is invalid struct __is_null_pointer_helper ^ /usr/include/c++/7/type_traits:1464:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant { }; ^~~~~~ /usr/include/c++/7/type_traits:1464:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1464:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant { }; ^~~~~~ /usr/include/c++/7/type_traits:1464:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1464:61: error: template argument 1 is invalid : public integral_constant { }; ^ /usr/include/c++/7/type_traits:1464:61: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1469:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant { }; ^~~~~~ /usr/include/c++/7/type_traits:1469:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1469:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant { }; ^~~~~~ /usr/include/c++/7/type_traits:1469:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1469:46: error: template argument 1 is invalid : public integral_constant { }; ^ /usr/include/c++/7/type_traits:1469:46: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1471:31: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/type_traits:1472:21: error: ‘_Size’ was not declared in this scope struct rank<_Tp[_Size]> ^~~~~ /usr/include/c++/7/type_traits:1472:27: error: template argument 1 is invalid struct rank<_Tp[_Size]> ^ /usr/include/c++/7/type_traits:1473:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant::value> { }; ^~~~~~ /usr/include/c++/7/type_traits:1473:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1473:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant::value> { }; ^~~~~~ /usr/include/c++/7/type_traits:1473:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1473:65: error: template argument 1 is invalid : public integral_constant::value> { }; ^ /usr/include/c++/7/type_traits:1473:65: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1477:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant::value> { }; ^~~~~~ /usr/include/c++/7/type_traits:1477:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1477:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant::value> { }; ^~~~~~ /usr/include/c++/7/type_traits:1477:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1477:65: error: template argument 1 is invalid : public integral_constant::value> { }; ^ /usr/include/c++/7/type_traits:1477:65: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1482:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant { }; ^~~~~~ /usr/include/c++/7/type_traits:1482:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1482:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant { }; ^~~~~~ /usr/include/c++/7/type_traits:1482:37: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/glm/detail/type_int.hpp:8:0, from /usr/include/glm/fwd.hpp:8, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/c++/7/type_traits:1482:46: error: template argument 1 is invalid : public integral_constant { }; ^ /usr/include/c++/7/type_traits:1482:46: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1484:47: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/type_traits:1485:23: error: ‘_Size’ was not declared in this scope struct extent<_Tp[_Size], _Uint> ^~~~~ /usr/include/c++/7/type_traits:1485:36: error: template argument 1 is invalid struct extent<_Tp[_Size], _Uint> ^ /usr/include/c++/7/type_traits:1486:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant::value> ^ /usr/include/c++/7/type_traits:1488:28: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1493:37: error: ‘size_t’ is not a member of ‘std’ : public integral_constant::value> ^ /usr/include/c++/7/type_traits:1495:31: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1944:31: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/type_traits:1945:30: error: ‘_Size’ was not declared in this scope struct remove_extent<_Tp[_Size]> ^~~~~ /usr/include/c++/7/type_traits:1945:36: error: template argument 1 is invalid struct remove_extent<_Tp[_Size]> ^ /usr/include/c++/7/type_traits:1957:31: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/type_traits:1958:35: error: ‘_Size’ was not declared in this scope struct remove_all_extents<_Tp[_Size]> ^~~~~ /usr/include/c++/7/type_traits:1958:41: error: template argument 1 is invalid struct remove_all_extents<_Tp[_Size]> ^ /usr/include/c++/7/type_traits:2016:17: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/type_traits:2021:23: error: ‘_Len’ was not declared in this scope unsigned char __data[_Len]; ^~~~ /usr/include/c++/7/type_traits:2021:23: note: suggested alternative: ‘__yn’ unsigned char __data[_Len]; ^~~~ __yn /usr/include/c++/7/type_traits:2036:17: error: ‘std::size_t’ has not been declared template::__type)> ^~~~ /usr/include/c++/7/type_traits:2037:48: note: suggested alternative: ‘__yn’ __alignof__(typename __aligned_storage_msa<_Len>::__type)> ^~~~ __yn /usr/include/c++/7/type_traits:2037:52: error: template argument 1 is invalid __alignof__(typename __aligned_storage_msa<_Len>::__type)> ^ /usr/include/c++/7/type_traits:2042:23: error: ‘_Len’ was not declared in this scope unsigned char __data[_Len]; ^~~~ /usr/include/c++/7/type_traits:2042:23: note: suggested alternative: ‘__yn’ unsigned char __data[_Len]; ^~~~ __yn /usr/include/c++/7/type_traits:2043:37: error: ‘_Align’ was not declared in this scope struct __attribute__((__aligned__((_Align)))) { } __align; ^~~~~~ /usr/include/c++/7/type_traits:2043:37: note: suggested alternative: ‘__logl’ struct __attribute__((__aligned__((_Align)))) { } __align; ^~~~~~ __logl In file included from /usr/include/glm/fwd.hpp:10:0, from /usr/include/glm/glm.hpp:90, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/type_vec.hpp:13:28: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec.hpp:14:9: error: no default argument for ‘aligned’ struct storage ^~~~~~~ /usr/include/glm/detail/type_vec.hpp:17:15: error: ‘size’ was not declared in this scope uint8 data[size]; ^~~~ /usr/include/glm/detail/type_vec.hpp:17:15: note: suggested alternative: ‘size_t’ uint8 data[size]; ^~~~ size_t In file included from /usr/include/glm/detail/type_vec4.hpp:452:0, from /usr/include/glm/vec4.hpp:8, from /usr/include/glm/glm.hpp:99, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/type_vec4.inl:82:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:83:9: error: no default argument for ‘Aligned’ struct compute_vec4_and ^~~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:91:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:92:9: error: no default argument for ‘Aligned’ struct compute_vec4_or ^~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:100:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:101:9: error: no default argument for ‘Aligned’ struct compute_vec4_xor ^~~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:109:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:110:9: error: no default argument for ‘Aligned’ struct compute_vec4_shift_left ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:118:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:119:9: error: no default argument for ‘Aligned’ struct compute_vec4_shift_right ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:127:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:128:9: error: no default argument for ‘Aligned’ struct compute_vec4_equal ^~~~~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:140:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:141:9: error: no default argument for ‘Aligned’ struct compute_vec4_nequal ^~~~~~~~~~~~~~~~~~~ /usr/include/glm/detail/type_vec4.inl:149:52: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/glm/detail/type_vec4.inl:150:9: error: no default argument for ‘Aligned’ struct compute_vec4_bitwise_not ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/glm/detail/type_vec4.inl:968:0, from /usr/include/glm/detail/type_vec4.hpp:452, from /usr/include/glm/vec4.hpp:8, from /usr/include/glm/glm.hpp:99, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/type_vec4_simd.inl: In static member function ‘static glm::vec<4, float, (glm::qualifier)5> glm::detail::compute_vec4_div::call(const glm::vec<4, float, (glm::qualifier)5>&, const glm::vec<4, float, (glm::qualifier)5>&)’: /usr/include/glm/detail/type_vec4_simd.inl:156:54: error: cannot convert ‘const int’ to ‘__m128 {aka __vector(4) float}’ for argument ‘1’ to ‘__m128 _mm_rcp_ps(__m128)’ Result.data = _mm_mul_ps(a.data, _mm_rcp_ps(b.data)); ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T) [with T = float; glm::qualifier Q = (glm::qualifier)5]’: /usr/include/glm/detail/type_vec4_simd.inl:344:23: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_set1_ps(_s)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T) [with T = float; glm::qualifier Q = (glm::qualifier)4]’: /usr/include/glm/detail/type_vec4_simd.inl:349:23: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_set1_ps(_s)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T) [with T = float; glm::qualifier Q = (glm::qualifier)3]’: /usr/include/glm/detail/type_vec4_simd.inl:354:23: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_set1_ps(_s)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T) [with T = int; glm::qualifier Q = (glm::qualifier)5]’: /usr/include/glm/detail/type_vec4_simd.inl:376:26: error: cannot convert ‘__m128i {aka __vector(2) long long int}’ to ‘int’ in initialization data(_mm_set1_epi32(_s)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T) [with T = int; glm::qualifier Q = (glm::qualifier)4]’: /usr/include/glm/detail/type_vec4_simd.inl:381:26: error: cannot convert ‘__m128i {aka __vector(2) long long int}’ to ‘int’ in initialization data(_mm_set1_epi32(_s)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T) [with T = int; glm::qualifier Q = (glm::qualifier)3]’: /usr/include/glm/detail/type_vec4_simd.inl:386:26: error: cannot convert ‘__m128i {aka __vector(2) long long int}’ to ‘int’ in initialization data(_mm_set1_epi32(_s)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T, T, T, T) [with T = float; glm::qualifier Q = (glm::qualifier)5]’: /usr/include/glm/detail/type_vec4_simd.inl:408:34: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_set_ps(_w, _z, _y, _x)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T, T, T, T) [with T = float; glm::qualifier Q = (glm::qualifier)4]’: /usr/include/glm/detail/type_vec4_simd.inl:413:34: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_set_ps(_w, _z, _y, _x)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(T, T, T, T) [with T = float; glm::qualifier Q = (glm::qualifier)3]’: /usr/include/glm/detail/type_vec4_simd.inl:418:34: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_set_ps(_w, _z, _y, _x)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(X, Y, Z, W) [with X = int; Y = int; Z = int; W = int; T = int; glm::qualifier Q = (glm::qualifier)5]’: /usr/include/glm/detail/type_vec4_simd.inl:424:37: error: cannot convert ‘__m128i {aka __vector(2) long long int}’ to ‘int’ in initialization data(_mm_set_epi32(_w, _z, _y, _x)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(X, Y, Z, W) [with X = int; Y = int; Z = int; W = int; T = int; glm::qualifier Q = (glm::qualifier)4]’: /usr/include/glm/detail/type_vec4_simd.inl:430:37: error: cannot convert ‘__m128i {aka __vector(2) long long int}’ to ‘int’ in initialization data(_mm_set_epi32(_w, _z, _y, _x)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(X, Y, Z, W) [with X = int; Y = int; Z = int; W = int; T = int; glm::qualifier Q = (glm::qualifier)3]’: /usr/include/glm/detail/type_vec4_simd.inl:436:37: error: cannot convert ‘__m128i {aka __vector(2) long long int}’ to ‘int’ in initialization data(_mm_set_epi32(_w, _z, _y, _x)) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(X, Y, Z, W) [with X = int; Y = int; Z = int; W = int; T = float; glm::qualifier Q = (glm::qualifier)5]’: /usr/include/glm/detail/type_vec4_simd.inl:442:55: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(X, Y, Z, W) [with X = int; Y = int; Z = int; W = int; T = float; glm::qualifier Q = (glm::qualifier)4]’: /usr/include/glm/detail/type_vec4_simd.inl:448:55: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) ^ /usr/include/glm/detail/type_vec4_simd.inl: In constructor ‘glm::vec<4, T, Q>::vec(X, Y, Z, W) [with X = int; Y = int; Z = int; W = int; T = float; glm::qualifier Q = (glm::qualifier)3]’: /usr/include/glm/detail/type_vec4_simd.inl:454:55: error: cannot convert ‘__m128 {aka __vector(4) float}’ to ‘int’ in initialization data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) ^ In file included from /usr/include/glm/detail/func_exponential.inl:146:0, from /usr/include/glm/exponential.hpp:108, from /usr/include/glm/detail/func_geometric.inl:4, from /usr/include/glm/geometric.hpp:116, from /usr/include/glm/detail/func_matrix.inl:4, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/func_exponential_simd.inl: In static member function ‘static glm::vec<4, float, (glm::qualifier)5> glm::detail::compute_sqrt<4, float, (glm::qualifier)5, true>::call(const glm::vec<4, float, (glm::qualifier)5>&)’: /usr/include/glm/detail/func_exponential_simd.inl:28:43: error: cannot convert ‘const int’ to ‘glm_vec4 {aka __vector(4) float}’ for argument ‘1’ to ‘glm_vec4 glm_vec4_sqrt_lowp(glm_vec4)’ Result.data = glm_vec4_sqrt_lowp(v.data); ^ In file included from /usr/include/glm/detail/func_matrix.inl:399:0, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/func_matrix_simd.inl: In function ‘typename glm::detail::outerProduct_trait::type glm::outerProduct(const glm::vec&, const glm::vec&) [with int C = 4; int R = 4; T = float; glm::qualifier Q = (glm::qualifier)5; typename glm::detail::outerProduct_trait::type = glm::mat<4, 4, float, (glm::qualifier)5>]’: /usr/include/glm/detail/func_matrix_simd.inl:68:27: error: invalid initialization of reference of type ‘const __m128& {aka const __vector(4) float&}’ from expression of type ‘const int’ glm_mat4_outerProduct(c.data, r.data, NativeResult); ~~^~~~ In file included from /usr/include/glm/detail/func_matrix_simd.inl:8:0, from /usr/include/glm/detail/func_matrix.inl:399, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/simd/matrix.h:1020:25: note: in passing argument 1 of ‘void glm_mat4_outerProduct(const __m128&, const __m128&, __m128*)’ GLM_FUNC_QUALIFIER void glm_mat4_outerProduct(__m128 const& c, __m128 const& r, __m128 out[4]) ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/glm/detail/func_matrix.inl:399:0, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/func_matrix_simd.inl: In function ‘typename glm::detail::outerProduct_trait::type glm::outerProduct(const glm::vec&, const glm::vec&) [with int C = 4; int R = 4; T = float; glm::qualifier Q = (glm::qualifier)4; typename glm::detail::outerProduct_trait::type = glm::mat<4, 4, float, (glm::qualifier)4>]’: /usr/include/glm/detail/func_matrix_simd.inl:78:27: error: invalid initialization of reference of type ‘const __m128& {aka const __vector(4) float&}’ from expression of type ‘const int’ glm_mat4_outerProduct(c.data, r.data, NativeResult); ~~^~~~ In file included from /usr/include/glm/detail/func_matrix_simd.inl:8:0, from /usr/include/glm/detail/func_matrix.inl:399, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/simd/matrix.h:1020:25: note: in passing argument 1 of ‘void glm_mat4_outerProduct(const __m128&, const __m128&, __m128*)’ GLM_FUNC_QUALIFIER void glm_mat4_outerProduct(__m128 const& c, __m128 const& r, __m128 out[4]) ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/glm/detail/func_matrix.inl:399:0, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/func_matrix_simd.inl: In function ‘typename glm::detail::outerProduct_trait::type glm::outerProduct(const glm::vec&, const glm::vec&) [with int C = 4; int R = 4; T = float; glm::qualifier Q = (glm::qualifier)3; typename glm::detail::outerProduct_trait::type = glm::mat<4, 4, float, (glm::qualifier)3>]’: /usr/include/glm/detail/func_matrix_simd.inl:88:27: error: invalid initialization of reference of type ‘const __m128& {aka const __vector(4) float&}’ from expression of type ‘const int’ glm_mat4_outerProduct(c.data, r.data, NativeResult); ~~^~~~ In file included from /usr/include/glm/detail/func_matrix_simd.inl:8:0, from /usr/include/glm/detail/func_matrix.inl:399, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/simd/matrix.h:1020:25: note: in passing argument 1 of ‘void glm_mat4_outerProduct(const __m128&, const __m128&, __m128*)’ GLM_FUNC_QUALIFIER void glm_mat4_outerProduct(__m128 const& c, __m128 const& r, __m128 out[4]) ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/new: At global scope: /usr/include/c++/7/new:120:31: error: declaration of ‘operator new’ as non-function void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^ /usr/include/c++/7/new:120:25: error: ‘size_t’ is not a member of ‘std’ void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^~~~~~ /usr/include/c++/7/new:120:25: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/new:122:33: error: declaration of ‘operator new []’ as non-function void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^ /usr/include/c++/7/new:122:27: error: ‘size_t’ is not a member of ‘std’ void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^~~~~~ /usr/include/c++/7/new:122:27: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/new:129:34: error: ‘std::size_t’ has not been declared void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:131:36: error: ‘std::size_t’ has not been declared void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/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/include/c++/7/new:134:25: error: ‘size_t’ is not a member of ‘std’ /usr/include/c++/7/new:134:25: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/new:134:33: error: expected primary-expression before ‘const’ void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT ^~~~~ /usr/include/c++/7/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/include/c++/7/new:136:27: error: ‘size_t’ is not a member of ‘std’ /usr/include/c++/7/new:136:27: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/new:136:35: error: expected primary-expression before ‘const’ void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT ^~~~~ /usr/include/c++/7/new:168:32: error: declaration of ‘operator new’ as non-function inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:168:32: error: ‘size_t’ is not a member of ‘std’ /usr/include/c++/7/new:168:32: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/new:168:40: error: expected primary-expression before ‘void’ inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~ /usr/include/c++/7/new:170:34: error: declaration of ‘operator new []’ as non-function inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:170:34: error: ‘size_t’ is not a member of ‘std’ /usr/include/c++/7/new:170:34: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/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/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/stl_pair.h:86:17: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/bits/stl_pair.h:434:41: error: ‘std::size_t’ has not been declared template ^~~~~~ /usr/include/c++/7/bits/stl_pair.h:437:27: error: ‘_Indexes1’ was not declared in this scope _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); ^~~~~~~~~ /usr/include/c++/7/bits/stl_pair.h:437:36: error: expected parameter pack before ‘...’ _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); ^~~ /usr/include/c++/7/bits/stl_pair.h:437:39: error: template argument 1 is invalid _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); ^ /usr/include/c++/7/bits/stl_pair.h:437:55: error: ‘_Indexes2’ was not declared in this scope _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); ^~~~~~~~~ /usr/include/c++/7/bits/stl_pair.h:437:64: error: expected parameter pack before ‘...’ _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); ^~~ /usr/include/c++/7/bits/stl_pair.h:437:67: error: template argument 1 is invalid _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); ^ In file included from /usr/include/c++/7/ios:40:0, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/char_traits.h:108:66: error: ‘std::size_t’ has not been declared compare(const char_type* __s1, const char_type* __s2, std::size_t __n); ^~~~~~ /usr/include/c++/7/bits/char_traits.h:110:40: error: ‘size_t’ in namespace ‘std’ does not name a type static _GLIBCXX14_CONSTEXPR std::size_t ^~~~~~ /usr/include/c++/7/bits/char_traits.h:114:39: error: ‘std::size_t’ has not been declared find(const char_type* __s, std::size_t __n, const char_type& __a); ^~~~~~ /usr/include/c++/7/bits/char_traits.h:117:57: error: ‘std::size_t’ has not been declared move(char_type* __s1, const char_type* __s2, std::size_t __n); ^~~~~~ /usr/include/c++/7/bits/char_traits.h:120:57: error: ‘std::size_t’ has not been declared copy(char_type* __s1, const char_type* __s2, std::size_t __n); ^~~~~~ /usr/include/c++/7/bits/char_traits.h:123:35: error: ‘std::size_t’ has not been declared assign(char_type* __s, std::size_t __n, char_type __a); ^~~~~~ /usr/include/c++/7/bits/char_traits.h:149:64: error: ‘std::size_t’ has not been declared compare(const char_type* __s1, const char_type* __s2, std::size_t __n) ^~~~~~ /usr/include/c++/7/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/include/c++/7/bits/char_traits.h:151:17: error: ‘size_t’ is not a member of ‘std’ for (std::size_t __i = 0; __i < __n; ++__i) ^~~~~~ /usr/include/c++/7/bits/char_traits.h:151:17: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/ios:40:0, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/char_traits.h:151:33: error: ‘__i’ was not declared in this scope for (std::size_t __i = 0; __i < __n; ++__i) ^~~ /usr/include/c++/7/bits/char_traits.h:151:33: note: suggested alternative: ‘__n’ for (std::size_t __i = 0; __i < __n; ++__i) ^~~ __n /usr/include/c++/7/bits/char_traits.h: At global scope: /usr/include/c++/7/bits/char_traits.h:160:31: error: ‘size_t’ in namespace ‘std’ does not name a type _GLIBCXX14_CONSTEXPR std::size_t ^~~~~~ /usr/include/c++/7/bits/char_traits.h:173:37: error: ‘std::size_t’ has not been declared find(const char_type* __s, std::size_t __n, const char_type& __a) ^~~~~~ /usr/include/c++/7/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/include/c++/7/bits/char_traits.h:175:17: error: ‘size_t’ is not a member of ‘std’ for (std::size_t __i = 0; __i < __n; ++__i) ^~~~~~ /usr/include/c++/7/bits/char_traits.h:175:17: note: suggested alternative: In file included from /usr/include/stdlib.h:31:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/glm/detail/_fixes.hpp:4, from /usr/include/glm/glm.hpp:79, from RayTracer.h:4, from RayTracer.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: ‘size_t’ typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/ios:40:0, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/char_traits.h:175:33: error: ‘__i’ was not declared in this scope for (std::size_t __i = 0; __i < __n; ++__i) ^~~ /usr/include/c++/7/bits/char_traits.h:175:33: note: suggested alternative: ‘__s’ for (std::size_t __i = 0; __i < __n; ++__i) ^~~ __s /usr/include/c++/7/bits/char_traits.h: At global scope: /usr/include/c++/7/bits/char_traits.h:184:55: error: ‘std::size_t’ has not been declared move(char_type* __s1, const char_type* __s2, std::size_t __n) ^~~~~~ /usr/include/c++/7/bits/char_traits.h:193:55: error: ‘std::size_t’ has not been declared copy(char_type* __s1, const char_type* __s2, std::size_t __n) ^~~~~~ /usr/include/c++/7/bits/char_traits.h:203:33: error: ‘std::size_t’ has not been declared assign(char_type* __s, std::size_t __n, char_type __a) ^~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/new_allocator.h:44:14: error: ‘std::size_t’ has not been declared using std::size_t; ^~~~~~ /usr/include/c++/7/ext/new_allocator.h:45:14: error: ‘std::ptrdiff_t’ has not been declared using std::ptrdiff_t; ^~~~~~~~~ In file included from /usr/include/c++/7/ext/alloc_traits.h:36:0, from /usr/include/c++/7/bits/basic_string.h:40, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/alloc_traits.h:404:36: error: ‘ptrdiff_t’ in namespace ‘std’ does not name a type using difference_type = std::ptrdiff_t; ^~~~~~~~~ /usr/include/c++/7/bits/alloc_traits.h:407:30: error: ‘size_t’ in namespace ‘std’ does not name a type using size_type = std::size_t; ^~~~~~ /usr/include/c++/7/bits/alloc_traits.h:435:37: error: ‘size_type’ has not been declared allocate(allocator_type& __a, size_type __n) ^~~~~~~~~ /usr/include/c++/7/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/include/c++/7/bits/alloc_traits.h:461:52: error: ‘size_type’ has not been declared deallocate(allocator_type& __a, pointer __p, size_type __n) ^~~~~~~~~ /usr/include/c++/7/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/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:55:51: error: ‘std::size_t’ has not been declared const char* __name, const _CharT* __str, std::size_t* __idx, ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:99:48: error: ‘std::size_t’ has not been declared __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:100:31: error: ‘std::size_t’ has not been declared __builtin_va_list), std::size_t __n, ^~~~~~ In file included from /usr/include/c++/7/bits/basic_string.h:40:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits >’: /usr/include/c++/7/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string’ /usr/include/c++/7/bits/basic_string.h:6372:68: required from here /usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::size_type size_type; ^~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::difference_type difference_type; ^~~~~~~~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits >::_Base_type {aka std::allocator_traits >}::max_size’ in ‘__gnu_cxx::__alloc_traits >::_Base_type {aka struct std::allocator_traits >}’ using _Base_type::max_size; ^~~~~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In function ‘int std::__cxx11::stoi(const string&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6373:19: error: no matching function for call to ‘__stoa(long int (*)(const char*, char**, int) throw (), const char [5], const char*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6373:19: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long int std::__cxx11::stol(const string&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6378:22: error: no matching function for call to ‘__stoa(long int (*)(const char*, char**, int) throw (), const char [5], const char*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6378:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long unsigned int std::__cxx11::stoul(const string&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6383:22: error: no matching function for call to ‘__stoa(long unsigned int (*)(const char*, char**, int) throw (), const char [6], const char*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6383:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long long int std::__cxx11::stoll(const string&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6388:22: error: no matching function for call to ‘__stoa(long long int (*)(const char*, char**, int) throw (), const char [6], const char*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6388:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long long unsigned int std::__cxx11::stoull(const string&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6393:22: error: no matching function for call to ‘__stoa(long long unsigned int (*)(const char*, char**, int) throw (), const char [7], const char*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6393:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘float std::__cxx11::stof(const string&, size_t*)’: /usr/include/c++/7/bits/basic_string.h:6398:72: error: no matching function for call to ‘__stoa(float (*)(const char*, char**) throw (), const char [5], const char*, size_t*&)’ { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6398: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/include/c++/7/bits/basic_string.h: In function ‘double std::__cxx11::stod(const string&, size_t*)’: /usr/include/c++/7/bits/basic_string.h:6402:72: error: no matching function for call to ‘__stoa(double (*)(const char*, char**) throw (), const char [5], const char*, size_t*&)’ { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6402: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/include/c++/7/bits/basic_string.h: In function ‘long double std::__cxx11::stold(const string&, size_t*)’: /usr/include/c++/7/bits/basic_string.h:6406:74: error: no matching function for call to ‘__stoa(long double (*)(const char*, char**) throw (), const char [6], const char*, size_t*&)’ { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6406: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/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(int)’: /usr/include/c++/7/bits/basic_string.h:6416:20: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [3], int&)’ "%d", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6416:20: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%d", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(unsigned int)’: /usr/include/c++/7/bits/basic_string.h:6422:20: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [3], unsigned int&)’ "%u", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6422:20: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%u", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long int)’: /usr/include/c++/7/bits/basic_string.h:6427:21: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [4], long int&)’ "%ld", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6427:21: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%ld", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long unsigned int)’: /usr/include/c++/7/bits/basic_string.h:6433:21: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [4], long unsigned int&)’ "%lu", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6433:21: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%lu", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long long int)’: /usr/include/c++/7/bits/basic_string.h:6439:22: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [5], long long int&)’ "%lld", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6439:22: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%lld", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long long unsigned int)’: /usr/include/c++/7/bits/basic_string.h:6445:22: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [5], long long unsigned int&)’ "%llu", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6445:22: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%llu", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(float)’: /usr/include/c++/7/bits/basic_string.h:6453:20: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [3], float&)’ "%f", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6453:20: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%f", __val); ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(double)’: /usr/include/c++/7/bits/basic_string.h:6462:20: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [3], double&)’ "%f", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6462:20: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%f", __val); ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long double)’: /usr/include/c++/7/bits/basic_string.h:6471:21: error: no matching function for call to ‘__to_xstring(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [4], long double&)’ "%Lf", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6471:21: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ "%Lf", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:40:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits >’: /usr/include/c++/7/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string’ /usr/include/c++/7/bits/basic_string.h:6478:68: required from here /usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::size_type size_type; ^~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::difference_type difference_type; ^~~~~~~~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits >::_Base_type {aka std::allocator_traits >}::max_size’ in ‘__gnu_cxx::__alloc_traits >::_Base_type {aka struct std::allocator_traits >}’ using _Base_type::max_size; ^~~~~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In function ‘int std::__cxx11::stoi(const wstring&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6479:19: error: no matching function for call to ‘__stoa(long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [5], const wchar_t*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6479:19: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long int std::__cxx11::stol(const wstring&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6484:22: error: no matching function for call to ‘__stoa(long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [5], const wchar_t*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6484:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long unsigned int std::__cxx11::stoul(const wstring&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6489:22: error: no matching function for call to ‘__stoa(long unsigned int (*)(const wchar_t*, wchar_t**, int) throw (), const char [6], const wchar_t*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6489:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long long int std::__cxx11::stoll(const wstring&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6494:22: error: no matching function for call to ‘__stoa(long long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [6], const wchar_t*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6494:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long long unsigned int std::__cxx11::stoull(const wstring&, size_t*, int)’: /usr/include/c++/7/bits/basic_string.h:6499:22: error: no matching function for call to ‘__stoa(long long unsigned int (*)(const wchar_t*, wchar_t**, int) throw (), const char [7], const wchar_t*, size_t*&, int&)’ __idx, __base); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6499:22: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ __idx, __base); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘float std::__cxx11::stof(const wstring&, size_t*)’: /usr/include/c++/7/bits/basic_string.h:6504:72: error: no matching function for call to ‘__stoa(float (*)(const wchar_t*, wchar_t**) throw (), const char [5], const wchar_t*, size_t*&)’ { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6504:72: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘double std::__cxx11::stod(const wstring&, size_t*)’: /usr/include/c++/7/bits/basic_string.h:6508:72: error: no matching function for call to ‘__stoa(double (*)(const wchar_t*, wchar_t**) throw (), const char [5], const wchar_t*, size_t*&)’ { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6508:72: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘long double std::__cxx11::stold(const wstring&, size_t*)’: /usr/include/c++/7/bits/basic_string.h:6512:74: error: no matching function for call to ‘__stoa(long double (*)(const wchar_t*, wchar_t**) throw (), const char [6], const wchar_t*, size_t*&)’ { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...) __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), ^~~~~~ /usr/include/c++/7/ext/string_conversions.h:54:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6512:74: note: cannot convert ‘__idx’ (type ‘size_t* {aka long unsigned int*}’) to type ‘int*’ { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(int)’: /usr/include/c++/7/bits/basic_string.h:6519:22: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [3], int&)’ L"%d", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6519:22: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%d", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(unsigned int)’: /usr/include/c++/7/bits/basic_string.h:6525:22: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [3], unsigned int&)’ L"%u", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6525:22: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%u", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long int)’: /usr/include/c++/7/bits/basic_string.h:6530:23: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [4], long int&)’ L"%ld", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6530:23: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%ld", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long unsigned int)’: /usr/include/c++/7/bits/basic_string.h:6536:23: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [4], long unsigned int&)’ L"%lu", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6536:23: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%lu", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long long int)’: /usr/include/c++/7/bits/basic_string.h:6542:24: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [5], long long int&)’ L"%lld", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6542:24: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%lld", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long long unsigned int)’: /usr/include/c++/7/bits/basic_string.h:6548:24: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [5], long long unsigned int&)’ L"%llu", __val); } ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6548:24: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%llu", __val); } ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(float)’: /usr/include/c++/7/bits/basic_string.h:6556:22: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [3], float&)’ L"%f", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6556:22: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%f", __val); ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(double)’: /usr/include/c++/7/bits/basic_string.h:6565:22: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [3], double&)’ L"%f", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6565:22: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%f", __val); ^ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long double)’: /usr/include/c++/7/bits/basic_string.h:6574:23: error: no matching function for call to ‘__to_xstring(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [4], long double&)’ L"%Lf", __val); ^ In file included from /usr/include/c++/7/bits/basic_string.h:6361:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template _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/include/c++/7/ext/string_conversions.h:99:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6574:23: note: mismatched types ‘int’ and ‘size_t {aka long unsigned int}’ L"%Lf", __val); ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In member function ‘size_t std::hash >::operator()(const string&) const’: /usr/include/c++/7/bits/basic_string.h:6603:54: error: ‘const string {aka const class std::__cxx11::basic_string}’ has no member named ‘length’ { return std::_Hash_impl::hash(__s.data(), __s.length()); } ^~~~~~ /usr/include/c++/7/bits/basic_string.h: In member function ‘size_t std::hash >::operator()(const wstring&) const’: /usr/include/c++/7/bits/basic_string.h:6619:42: error: ‘const wstring {aka const class std::__cxx11::basic_string}’ has no member named ‘length’ __s.length() * sizeof(wchar_t)); } ^~~~~~ In file included from /usr/include/c++/7/bits/basic_string.h:40:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits >’: /usr/include/c++/7/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string’ /usr/include/c++/7/bits/basic_string.h:6636:41: required from here /usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::size_type size_type; ^~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::difference_type difference_type; ^~~~~~~~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits >::_Base_type {aka std::allocator_traits >}::max_size’ in ‘__gnu_cxx::__alloc_traits >::_Base_type {aka struct std::allocator_traits >}’ using _Base_type::max_size; ^~~~~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In member function ‘size_t std::hash >::operator()(const u16string&) const’: /usr/include/c++/7/bits/basic_string.h:6637:42: error: ‘const u16string {aka const class std::__cxx11::basic_string}’ has no member named ‘length’ __s.length() * sizeof(char16_t)); } ^~~~~~ In file included from /usr/include/c++/7/bits/basic_string.h:40:0, from /usr/include/c++/7/string:52, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits >’: /usr/include/c++/7/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string’ /usr/include/c++/7/bits/basic_string.h:6651:41: required from here /usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::size_type size_type; ^~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits >’ typedef typename _Base_type::difference_type difference_type; ^~~~~~~~~~~~~~~ /usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits >::_Base_type {aka std::allocator_traits >}::max_size’ in ‘__gnu_cxx::__alloc_traits >::_Base_type {aka struct std::allocator_traits >}’ using _Base_type::max_size; ^~~~~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In member function ‘size_t std::hash >::operator()(const u32string&) const’: /usr/include/c++/7/bits/basic_string.h:6652:42: error: ‘const u32string {aka const class std::__cxx11::basic_string}’ has no member named ‘length’ __s.length() * sizeof(char32_t)); } ^~~~~~ /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::basic_string std::literals::string_literals::operator""s(const char*, size_t)’: /usr/include/c++/7/bits/basic_string.h:6675:45: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string()’ { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:604:9: note: candidate: template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) basic_string(_InputIterator __beg, _InputIterator __end, ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:604:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6675:45: note: deduced conflicting types for parameter ‘_InputIterator’ (‘const char*’ and ‘long unsigned int’) { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:566:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:566:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:562:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:562:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:558:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:558:7: note: no known conversion for argument 1 from ‘const char*’ to ‘std::initializer_list’ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str) noexcept ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:509:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:509:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] basic_string() ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::basic_string std::literals::string_literals::operator""s(const wchar_t*, size_t)’: /usr/include/c++/7/bits/basic_string.h:6681:48: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string()’ { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:604:9: note: candidate: template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) basic_string(_InputIterator __beg, _InputIterator __end, ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:604:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6681:48: note: deduced conflicting types for parameter ‘_InputIterator’ (‘const wchar_t*’ and ‘long unsigned int’) { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:566:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:566:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:562:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:562:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:558:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:558:7: note: no known conversion for argument 1 from ‘const wchar_t*’ to ‘std::initializer_list’ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str) noexcept ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:509:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:509:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = wchar_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string() ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::basic_string std::literals::string_literals::operator""s(const char16_t*, size_t)’: /usr/include/c++/7/bits/basic_string.h:6688:49: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string()’ { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:604:9: note: candidate: template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) basic_string(_InputIterator __beg, _InputIterator __end, ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:604:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6688:49: note: deduced conflicting types for parameter ‘_InputIterator’ (‘const char16_t*’ and ‘long unsigned int’) { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:566:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:566:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:562:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:562:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:558:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:558:7: note: no known conversion for argument 1 from ‘const char16_t*’ to ‘std::initializer_list’ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str) noexcept ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:509:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:509:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char16_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string() ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In function ‘std::__cxx11::basic_string std::literals::string_literals::operator""s(const char32_t*, size_t)’: /usr/include/c++/7/bits/basic_string.h:6693:49: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string()’ { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:604:9: note: candidate: template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) basic_string(_InputIterator __beg, _InputIterator __end, ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:604:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:6693:49: note: deduced conflicting types for parameter ‘_InputIterator’ (‘const char32_t*’ and ‘long unsigned int’) { return basic_string{__str, __len}; } ^ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h:566:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:566:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:562:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str, const _Alloc& __a) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:562:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:558:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:558:7: note: no known conversion for argument 1 from ‘const char32_t*’ to ‘std::initializer_list’ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(basic_string&& __str) noexcept ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:531:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:509:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:509:7: note: no known conversion for argument 2 from ‘size_t {aka long unsigned int}’ to ‘const std::allocator&’ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const basic_string& __str) ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:437:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:429:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char32_t; _Traits = std::char_traits; _Alloc = std::allocator] basic_string() ^~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:420:7: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/7/bits/locale_facets.h:2651:0, from /usr/include/c++/7/bits/basic_ios.h:37, from /usr/include/c++/7/ios:44, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/locale_facets.tcc: In member function ‘void std::__numpunct_cache<_CharT>::_M_cache(const std::locale&)’: /usr/include/c++/7/bits/locale_facets.tcc:88:27: error: ‘const string {aka const class std::__cxx11::basic_string}’ has no member named ‘size’ _M_grouping_size = __g.size(); ^~~~ /usr/include/c++/7/bits/locale_facets.tcc:90:8: error: ‘const string {aka const class std::__cxx11::basic_string}’ has no member named ‘copy’ __g.copy(__grouping, _M_grouping_size); ^~~~ /usr/include/c++/7/bits/locale_facets.tcc: In member function ‘_InIter std::num_get<_CharT, _InIter>::_M_extract_float(_InIter, _InIter, std::ios_base&, std::ios_base::iostate&, std::__cxx11::string&) const’: /usr/include/c++/7/bits/locale_facets.tcc:211:19: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘reserve’ __found_grouping.reserve(32); ^~~~~~~ /usr/include/c++/7/bits/locale_facets.tcc:296:28: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘size’ if (__found_grouping.size()) ^~~~ /usr/include/c++/7/bits/locale_facets.tcc:319:28: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘size’ if (__found_grouping.size() && !__found_dec) ^~~~ /usr/include/c++/7/bits/locale_facets.tcc:355:28: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘size’ if (__found_grouping.size()) ^~~~ /usr/include/c++/7/bits/locale_facets.tcc: In member function ‘_InIter std::num_get<_CharT, _InIter>::_M_extract_int(_InIter, _InIter, std::ios_base&, std::ios_base::iostate&, _ValueT&) const’: /usr/include/c++/7/bits/locale_facets.tcc:468:21: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘reserve’ __found_grouping.reserve(32); ^~~~~~~ /usr/include/c++/7/bits/locale_facets.tcc:554:23: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘size’ if (__found_grouping.size()) ^~~~ /usr/include/c++/7/bits/locale_facets.tcc:567:56: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘size’ if ((!__sep_pos && !__found_zero && !__found_grouping.size()) ^~~~ /usr/include/c++/7/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, float&) const’: /usr/include/c++/7/bits/locale_facets.tcc:695:14: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘reserve’ __xtrc.reserve(32); ^~~~~~~ /usr/include/c++/7/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, double&) const’: /usr/include/c++/7/bits/locale_facets.tcc:710:14: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘reserve’ __xtrc.reserve(32); ^~~~~~~ /usr/include/c++/7/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, long double&) const’: /usr/include/c++/7/bits/locale_facets.tcc:742:14: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string}’ has no member named ‘reserve’ __xtrc.reserve(32); ^~~~~~~ RayTracer.cpp: In member function ‘virtual void RayTracer::render(Camera, FrameBuffer*, int, int) const’: RayTracer.cpp:50:16: error: ‘clamp’ was not declared in this scope int ir = clamp(0, 255, static_cast(255.99*col[0])); ^~~~~ RayTracer.cpp:50:16: note: suggested alternative: In file included from /usr/include/glm/common.hpp:533:0, from /usr/include/glm/detail/func_geometric.inl:5, from /usr/include/glm/geometric.hpp:116, from /usr/include/glm/detail/func_matrix.inl:4, from /usr/include/glm/matrix.hpp:164, from /usr/include/glm/detail/type_mat2x2.inl:4, from /usr/include/glm/detail/type_mat2x2.hpp:181, from /usr/include/glm/mat2x2.hpp:8, from /usr/include/glm/glm.hpp:100, from RayTracer.h:4, from RayTracer.cpp:2: /usr/include/glm/detail/func_common.inl:557:34: note: ‘glm::clamp’ GLM_FUNC_QUALIFIER vec clamp(vec const& x, vec const& minVal, vec const& maxVal) ^~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from RayTracer.cpp:5: /usr/include/c++/7/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’: /usr/include/c++/7/system_error:189:40: required from here /usr/include/c++/7/bits/basic_string.h:542:24: error: ‘class std::__cxx11::basic_string’ has no member named ‘_M_allocated_capacity’; did you mean ‘_S_local_capacity’? _M_capacity(__str._M_allocated_capacity); ~~~~~~^~~~~~~~~~~~~~~~~~~~~ _S_local_capacity /usr/include/c++/7/bits/basic_string.h:542:17: error: ‘_M_capacity’ was not declared in this scope _M_capacity(__str._M_allocated_capacity); ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:548:11: error: ‘_M_length’ was not declared in this scope _M_length(__str.length()); ~~~~~~~~~^~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’: /usr/include/c++/7/system_error:351:50: required from here /usr/include/c++/7/bits/basic_string.h:5968:33: error: ‘class std::__cxx11::basic_string’ has no member named ‘size’ const auto __size = __lhs.size() + __rhs.size(); ~~~~~~^~~~ /usr/include/c++/7/bits/basic_string.h:5968:48: error: ‘class std::__cxx11::basic_string’ has no member named ‘size’ const auto __size = __lhs.size() + __rhs.size(); ~~~~~~^~~~ /usr/include/c++/7/bits/basic_string.h:5969:43: error: ‘class std::__cxx11::basic_string’ has no member named ‘capacity’ const bool __cond = (__size > __lhs.capacity() ~~~~~~^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:5970:26: error: ‘class std::__cxx11::basic_string’ has no member named ‘capacity’ && __size <= __rhs.capacity()); ~~~~~~^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:5971:32: error: no matching function for call to ‘std::__cxx11::basic_string::insert(int, std::__cxx11::basic_string&)’ return __cond ? std::move(__rhs.insert(0, __lhs)) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:1567:9: note: candidate: template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) ^~~~~~ /usr/include/c++/7/bits/basic_string.h:1567:9: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/basic_string.h:5971:32: note: candidate expects 3 arguments, 2 provided return __cond ? std::move(__rhs.insert(0, __lhs)) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:1601:7: note: candidate: void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::rebind<_CharT>::other>::pointer = char*] insert(iterator __p, initializer_list<_CharT> __l) ^~~~~~ /usr/include/c++/7/bits/basic_string.h:1601:7: note: no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’ /usr/include/c++/7/bits/basic_string.h:1728:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::rebind<_CharT>::other>::pointer = char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::rebind<_CharT>::other>::const_pointer = const char*] insert(__const_iterator __p, _CharT __c) ^~~~~~ /usr/include/c++/7/bits/basic_string.h:1728:7: note: no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string::__const_iterator {aka __gnu_cxx::__normal_iterator >}’ /usr/include/c++/7/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’: /usr/include/c++/7/system_error:354:51: required from here /usr/include/c++/7/bits/basic_string.h:5979:23: error: no matching function for call to ‘std::__cxx11::basic_string::insert(int, const char*&)’ { return std::move(__rhs.insert(0, __lhs)); } ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:1567:9: note: candidate: template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator] insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) ^~~~~~ /usr/include/c++/7/bits/basic_string.h:1567:9: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/basic_string.h:5979:23: note: candidate expects 3 arguments, 2 provided { return std::move(__rhs.insert(0, __lhs)); } ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:1601:7: note: candidate: void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::rebind<_CharT>::other>::pointer = char*] insert(iterator __p, initializer_list<_CharT> __l) ^~~~~~ /usr/include/c++/7/bits/basic_string.h:1601:7: note: no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’ /usr/include/c++/7/bits/basic_string.h:1728:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::rebind<_CharT>::other>::pointer = char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::rebind<_CharT>::other>::const_pointer = const char*] insert(__const_iterator __p, _CharT __c) ^~~~~~ /usr/include/c++/7/bits/basic_string.h:1728:7: note: no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string::__const_iterator {aka __gnu_cxx::__normal_iterator >}’ /usr/include/c++/7/bits/basic_string.h: In instantiation of ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’: /usr/include/c++/7/bits/basic_string.h:647:19: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ /usr/include/c++/7/system_error:189:40: required from here /usr/include/c++/7/bits/basic_string.h:221:15: error: using invalid field ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::::_M_allocated_capacity’ _M_destroy(_M_allocated_capacity); ^~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:221:14: error: ‘_M_destroy’ was not declared in this scope _M_destroy(_M_allocated_capacity); ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:221:14: note: suggested alternative: ‘_M_data’ _M_destroy(_M_allocated_capacity); ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ _M_data /usr/include/c++/7/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::append(const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’: /usr/include/c++/7/bits/basic_string.h:5929:7: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ /usr/include/c++/7/system_error:351:30: required from here /usr/include/c++/7/bits/basic_string.h:1257:17: error: ‘_M_check_length’ was not declared in this scope _M_check_length(size_type(0), __n, "basic_string::append"); ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:1257:17: note: suggested alternative: ‘glm_vec4_length’ _M_check_length(size_type(0), __n, "basic_string::append"); ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ glm_vec4_length /usr/include/c++/7/bits/basic_string.h:1258:18: error: ‘_M_append’ was not declared in this scope return _M_append(__s, __n); ~~~~~~~~~^~~~~~~~~~ /usr/include/c++/7/bits/basic_string.h:1258:18: note: suggested alternative: ‘append’ return _M_append(__s, __n); ~~~~~~~~~^~~~~~~~~~ append make: *** [RayTracer.o] Error 1