Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting an error message when compiling: Compilation error: call of overloaded 'getParam(int)' is ambiguous #559

Open
TurboMastodon opened this issue Jul 27, 2024 · 1 comment

Comments

@TurboMastodon
Copy link

TurboMastodon commented Jul 27, 2024

This is the full error message

C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino: In lambda function:
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9545:59: error: call of overloaded 'getParam(int)' is ambiguous
AsyncWebParameter p = request->getParam(0);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9545:59: note: candidates are:
In file included from C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:70:0:
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:360:30: note: const AsyncWebParameter
AsyncWebServerRequest::getParam(const char*, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:362:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:373:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino: In lambda function:
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9564:59: error: call of overloaded 'getParam(int)' is ambiguous
AsyncWebParameter p = request->getParam(0);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9564:59: note: candidates are:
In file included from C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:70:0:
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:360:30: note: const AsyncWebParameter
AsyncWebServerRequest::getParam(const char*, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:362:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:373:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino: In lambda function:
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9626:67: error: call of overloaded 'getParam(int)' is ambiguous
AsyncWebParameter slotParam = request->getParam(0);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9626:67: note: candidates are:
In file included from C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:70:0:
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:360:30: note: const AsyncWebParameter
AsyncWebServerRequest::getParam(const char*, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:362:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:373:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino: In lambda function:
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9673:72: error: call of overloaded 'getParam(int)' is ambiguous
AsyncWebParameter slotIndexParam = request->getParam(0);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9673:72: note: candidates are:
In file included from C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:70:0:
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:360:30: note: const AsyncWebParameter
AsyncWebServerRequest::getParam(const char*, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:362:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:373:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9681:71: error: invalid conversion from 'const AsyncWebParameter*' to 'AsyncWebParameter*' [-fpermissive]
AsyncWebParameter slotNameParam = request->getParam(1);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino: In lambda function:
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9711:51: error: call of overloaded 'getParam(int)' is ambiguous
AsyncWebParameter p = request->getParam(0);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9711:51: note: candidates are:
In file included from C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:70:0:
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:360:30: note: const AsyncWebParameter
AsyncWebServerRequest::getParam(const char
, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:362:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:373:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino: In lambda function:
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9806:58: error: call of overloaded 'getParam(int)' is ambiguous
request->send(SPIFFS, request->getParam(0)->value(), String(), true);
^
C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:9806:58: note: candidates are:
In file included from C:\Users\user\OneDrive\Documents\Arduino\libraries\gbs-control\gbs-control.ino:70:0:
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:360:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const char*, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:362:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
c:\Users\user\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src/ESPAsyncWebServer.h:373:30: note: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^

exit status 1

Compilation error: call of overloaded 'getParam(int)' is ambiguous

@Pr3ttyF1y
Copy link

Don't update your packages in the IDE. Just download the repository linked in the wiki. I had the same error as I updated my packages from the IDE, but rolling it back and manually extracting the zip from the link to the code in the wiki allows it to compile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants