I’ve been trying to compile this into an object file for my weather app so I can create an executable file with other object files but I keep getting this error.
anjiowate@Anjis-MacBook-Air weatherApplication % g++ -c ManageLocations.cpp -o ManageLocations.o
ManageLocations.cpp:9:16: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
for (const auto& loc : locations) {
^
ManageLocations.cpp:9:26: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
for (const auto& loc : locations) {
^
ManageLocations.cpp:16:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
auto it = std::find_if(locations.begin(), locations.end(), [&](const Location& loc) { return loc.id == id; });
^
ManageLocations.cpp:16:64: error: expected expression
auto it = std::find_if(locations.begin(), locations.end(), [&](const Location& loc) { return loc.id == id; });
^
ManageLocations.cpp:27:72: error: expected expression
locations.erase(std::remove_if(locations.begin(), locations.end(), [&](const Location& loc) { return loc.id == id; }), locations.end());
^
ManageLocations.cpp:32:16: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
for (const auto& loc : locations) {
^
ManageLocations.cpp:32:26: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
for (const auto& loc : locations) {
^
ManageLocations.cpp:41:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
auto it = std::find_if(locations.begin(), locations.end(), [&](const Location& loc) { return loc.id == id; });
^
ManageLocations.cpp:41:64: error: expected expression
auto it = std::find_if(locations.begin(), locations.end(), [&](const Location& loc) { return loc.id == id; });
6 warnings and 3 errors generated.
anjiowate@Anjis-MacBook-Air weatherApplication %
cpp file:
#ifndef LOCATIONMANAGER_H
#define LOCATIONMANAGER_H
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
class Location {
public:
std::string id;
std::string name;
double latitude;
double longitude;
bool favorite;
Location(const std::string& id, const std::string& name, double latitude, double longitude, bool favorite = false)
: id(id), name(name), latitude(latitude), longitude(longitude), favorite(favorite) {}
};
class LocationManager {
public:
void addLocation(const std::string& id, const std::string& name, double latitude, double longitude);
void displayLocations();
void modifyLocation(const std::string& id, const std::string& newName, double newLatitude, double newLongitude);
void removeLocation(const std::string& id);
void searchLocation(const std::string& query);
void setFavorite(const std::string& id, bool isFavorite);
void showLocation();
private:
std::vector<Location> locations;
};
#endif // LOCATION_MANAGER_H
header file:
#ifndef WEATHERAPP_H
#define WEATHERAPP_H
#include "ManageLocations.h"
#include "weatherForecast.h"
#include "HistoricalWeather.h"
#include "AirQuality.h"
#include "SettingsFetcher.h"
#include <iostream>
#include <string>
#include <iostream>
#include <string>
#include <curl/curl.h>
class WeatherApp {
public:
void displayMainMenu();
void run();
};
#endif
Just to note im using vscode on a Mac
New contributor
Anj is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.