Я пытаюсь создать конструктор для пользовательского типа, но по какой-то причине он пытается вызвать, я предполагаю, конструктор в определении конструктора другого класса. Не удалось найти ничего подходящего те же симптомы, которые возникают у меня при любых других вопросах, а также, возможно, я не знаю, что ищу.
Когда я звоню:
LatLngBounds clusterBounds(&boundsNorthEast, &boundsSouthWest);
в main.cpp, в LatLngBounds.cpp я получаю "Нет подходящей функции для вызова 'LatLng: LatLng ()", брошенной дважды в строку для:
LatLngBounds::LatLngBounds(LatLng &newSouthWest, LatLng &newNorthEast)
У кого-нибудь есть идеи?
Дрю Дж. Сонн.
IDE: Xcode 3.2 (предназначен для отладки 10.5)
ОС: OSX 10.6
Компилятор: GCC 4.2
Арка: x86_64
main.cpp:
std::vector<std::string> argVector;
... fill up my argVector with strings..
vector<double> boundsVector = explodeStringToDouble(argVector[i]);
LatLng boundsNorthEast(0, boundsVector[0], boundsVector[1]);
LatLng boundsSouthWest(0, boundsVector[2], boundsVector[3]);
LatLngBounds clusterBounds(&boundsNorthEast, &boundsSouthWest);
LatLngBounds.h
#ifndef __LATLNGBOUNDS
#define __LATLNGBOUNDS
#include "LatLng.h"
class LatLngBounds {
private:
LatLng northEast;
LatLng southWest;
public:
LatLngBounds(LatLng&,LatLng&);
};
#endif
LatLngBounds.cpp
#include "LatLngBounds.h"
#include "LatLng.h"
LatLngBounds::LatLngBounds(LatLng &newSouthWest, LatLng &newNorthEast)
{
this->southWest = newSouthWest;
this->northEast = newNorthEast;
};
LatLng.h
#ifndef __LATLNGDEF
#define __LATLNGDEF
class LatLng {
public:
LatLng(int,double,double);
private:
double lat, lng;
int id;
};
#endif
LatLng.cpp
#include "LatLng.h"
LatLng::LatLng(int newId, double newLat, double newLng)
{
/* Grab our arguments */
id = newId;
lat = newLat;
lng = newLng;
};