Skip to content

Instantly share code, notes, and snippets.

@Siapran
Created May 10, 2017 08:03
Show Gist options
  • Save Siapran/f5a028c292caa1a028a706502fe6e46e to your computer and use it in GitHub Desktop.
Save Siapran/f5a028c292caa1a028a706502fe6e46e to your computer and use it in GitHub Desktop.
siapran@pc-vlb-0163:~/Programming/C++/JSON_Config$ make
"make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/home/siapran/Programming/C++/JSON_Config'
"make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux/json_config
make[2]: Entering directory '/home/siapran/Programming/C++/JSON_Config'
mkdir -p build/Debug/GNU-Linux
rm -f "build/Debug/GNU-Linux/Config.o.d"
g++ -c -g -MMD -MP -MF "build/Debug/GNU-Linux/Config.o.d" -o build/Debug/GNU-Linux/Config.o Config.cpp
mkdir -p build/Debug/GNU-Linux
rm -f "build/Debug/GNU-Linux/ErrnoException.o.d"
g++ -c -g -MMD -MP -MF "build/Debug/GNU-Linux/ErrnoException.o.d" -o build/Debug/GNU-Linux/ErrnoException.o ErrnoException.cpp
mkdir -p build/Debug/GNU-Linux
rm -f "build/Debug/GNU-Linux/TestConfig.o.d"
g++ -c -g -MMD -MP -MF "build/Debug/GNU-Linux/TestConfig.o.d" -o build/Debug/GNU-Linux/TestConfig.o TestConfig.cpp
In file included from TestConfig.h:12:0,
from TestConfig.cpp:9:
TestConfig.cpp: In member function ‘virtual bool TestConfig::parse(const char*)’:
Config.h:21:31: error: ambiguous overload for ‘operator=’ (operand types are ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ and ‘ArduinoJson::JsonObjectSubscript<const char*>’)
field = (*root)[#field]; \
^
TestConfig.cpp:21:5: note: in expansion of macro ‘CONFIG_PARSEFIELD’
CONFIG_PARSEFIELD(std::string, bar);
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.3.1/string:52:0,
from Config.h:11,
from TestConfig.h:12,
from TestConfig.cpp:9:
/usr/include/c++/6.3.1/bits/basic_string.h:565:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(const basic_string& __str)
^~~~~~~~
/usr/include/c++/6.3.1/bits/basic_string.h:604:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(const _CharT* __s)
^~~~~~~~
/usr/include/c++/6.3.1/bits/basic_string.h:615:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(_CharT __c)
^~~~~~~~
/usr/include/c++/6.3.1/bits/basic_string.h:633:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(basic_string&& __str)
^~~~~~~~
/usr/include/c++/6.3.1/bits/basic_string.h:687:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(initializer_list<_CharT> __l)
^~~~~~~~
In file included from ArduinoJson/src/ArduinoJson.hpp:12:0,
from ArduinoJson/src/ArduinoJson.h:10,
from ArduinoJson/ArduinoJson.h:8,
from Config.h:14,
from TestConfig.h:12,
from TestConfig.cpp:9:
ArduinoJson/src/ArduinoJson/JsonObject.hpp: In instantiation of ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: error: no matching function for call to ‘ArduinoJson::JsonVariant::is() const’
return it != end() ? it->value.is<TValue>() : false;
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ArduinoJson/src/ArduinoJson/Deserialization/../JsonBuffer.hpp:14:0,
from ArduinoJson/src/ArduinoJson/Deserialization/JsonParser.hpp:10,
from ArduinoJson/src/ArduinoJson/JsonBufferBase.hpp:10,
from ArduinoJson/src/ArduinoJson/DynamicJsonBuffer.hpp:10,
from ArduinoJson/src/ArduinoJson.hpp:10,
from ArduinoJson/src/ArduinoJson.h:10,
from ArduinoJson/ArduinoJson.h:8,
from Config.h:14,
from TestConfig.h:12,
from TestConfig.cpp:9:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:252:3: note: candidate: template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsIntegral<T>::value, bool>::type ArduinoJson::JsonVariant::is() const
is() const {
^~
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:252:3: note: template argument deduction/substitution failed:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp: In substitution of ‘template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsIntegral<T>::value, bool>::type ArduinoJson::JsonVariant::is() const [with T = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: required from ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:252:3: error: no type named ‘type’ in ‘struct ArduinoJson::TypeTraits::EnableIf<false, bool>’
ArduinoJson/src/ArduinoJson/JsonObject.hpp: In instantiation of ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:261:3: note: candidate: template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsFloatingPoint<T>::value, bool>::type ArduinoJson::JsonVariant::is() const
is() const {
^~
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:261:3: note: template argument deduction/substitution failed:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp: In substitution of ‘template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsFloatingPoint<T>::value, bool>::type ArduinoJson::JsonVariant::is() const [with T = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: required from ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:261:3: error: no type named ‘type’ in ‘struct ArduinoJson::TypeTraits::EnableIf<false, bool>’
ArduinoJson/src/ArduinoJson/JsonObject.hpp: In instantiation of ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:268:3: note: candidate: template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsSame<T, bool>::value, bool>::type ArduinoJson::JsonVariant::is() const
is() const {
^~
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:268:3: note: template argument deduction/substitution failed:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp: In substitution of ‘template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsSame<T, bool>::value, bool>::type ArduinoJson::JsonVariant::is() const [with T = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: required from ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:268:3: error: no type named ‘type’ in ‘struct ArduinoJson::TypeTraits::EnableIf<false, bool>’
ArduinoJson/src/ArduinoJson/JsonObject.hpp: In instantiation of ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:278:3: note: candidate: template<class T> typename ArduinoJson::TypeTraits::EnableIf<(ArduinoJson::TypeTraits::IsSame<T, const char*>::value || ArduinoJson::TypeTraits::IsSame<T, char*>::value), bool>::type ArduinoJson::JsonVariant::is() const
is() const {
^~
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:278:3: note: template argument deduction/substitution failed:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp: In substitution of ‘template<class T> typename ArduinoJson::TypeTraits::EnableIf<(ArduinoJson::TypeTraits::IsSame<T, const char*>::value || ArduinoJson::TypeTraits::IsSame<T, char*>::value), bool>::type ArduinoJson::JsonVariant::is() const [with T = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: required from ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:278:3: error: no type named ‘type’ in ‘struct ArduinoJson::TypeTraits::EnableIf<false, bool>’
ArduinoJson/src/ArduinoJson/JsonObject.hpp: In instantiation of ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:292:3: note: candidate: template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsSame<typename ArduinoJson::TypeTraits::RemoveConst<typename ArduinoJson::TypeTraits::RemoveReference<T>::type>::type, ArduinoJson::JsonArray>::value, bool>::type ArduinoJson::JsonVariant::is() const
is() const {
^~
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:292:3: note: template argument deduction/substitution failed:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp: In substitution of ‘template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsSame<typename ArduinoJson::TypeTraits::RemoveConst<typename ArduinoJson::TypeTraits::RemoveReference<T>::type>::type, ArduinoJson::JsonArray>::value, bool>::type ArduinoJson::JsonVariant::is() const [with T = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: required from ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:292:3: error: no type named ‘type’ in ‘struct ArduinoJson::TypeTraits::EnableIf<false, bool>’
ArduinoJson/src/ArduinoJson/JsonObject.hpp: In instantiation of ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:306:3: note: candidate: template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsSame<typename ArduinoJson::TypeTraits::RemoveConst<typename ArduinoJson::TypeTraits::RemoveReference<T>::type>::type, ArduinoJson::JsonObject>::value, bool>::type ArduinoJson::JsonVariant::is() const
is() const {
^~
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:306:3: note: template argument deduction/substitution failed:
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp: In substitution of ‘template<class T> typename ArduinoJson::TypeTraits::EnableIf<ArduinoJson::TypeTraits::IsSame<typename ArduinoJson::TypeTraits::RemoveConst<typename ArduinoJson::TypeTraits::RemoveReference<T>::type>::type, ArduinoJson::JsonObject>::value, bool>::type ArduinoJson::JsonVariant::is() const [with T = std::__cxx11::basic_string<char>]’:
ArduinoJson/src/ArduinoJson/JsonObject.hpp:329:24: required from ‘bool ArduinoJson::JsonObject::is_impl(TStringRef) const [with TStringRef = const char*; TValue = std::__cxx11::basic_string<char>]’
ArduinoJson/src/ArduinoJson/JsonObject.hpp:204:43: required from ‘bool ArduinoJson::JsonObject::is(const TString*) const [with TValue = std::__cxx11::basic_string<char>; TString = char]’
ArduinoJson/src/ArduinoJson/JsonObjectSubscript.hpp:69:35: required from ‘bool ArduinoJson::JsonObjectSubscript<TKey>::is() const [with TValue = std::__cxx11::basic_string<char>; TStringRef = const char*]’
TestConfig.cpp:21:5: required from here
ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:306:3: error: no type named ‘type’ in ‘struct ArduinoJson::TypeTraits::EnableIf<false, bool>’
make[2]: *** [nbproject/Makefile-Debug.mk:81: build/Debug/GNU-Linux/TestConfig.o] Error 1
make[2]: Leaving directory '/home/siapran/Programming/C++/JSON_Config'
make[1]: *** [nbproject/Makefile-Debug.mk:62: .build-conf] Error 2
make[1]: Leaving directory '/home/siapran/Programming/C++/JSON_Config'
make: *** [nbproject/Makefile-impl.mk:40: .build-impl] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment