Plugins: Probleme mit auflösen von templates???
Verfasst: 4. Januar 2010 11:39
Hi,
ich bin grade dabei mir eine Klasse für Ini Files zu schreiben. Die Klasse soll ein Singleton werden, wobei die getValue Methode diverse Rückgabewerte haben soll. Also dachte ich da an ein Template, Gesagt getan.
Die getValue sieht noch wie folgt aus:
Das strange: Sobald ich einen Aufruf mache a la kann er die Funktion nicht auflösen.
Das komische ist nur das sobald ich bool getValue(const std::string &); reinschreibe funkioniert es-und er geht in meine Template Variante...
Kann mir das wer erklären???? Also wieso das nicht geht? Seh grade den Wald vor lauter Bäumen nicht.
[/quote]
ich bin grade dabei mir eine Klasse für Ini Files zu schreiben. Die Klasse soll ein Singleton werden, wobei die getValue Methode diverse Rückgabewerte haben soll. Also dachte ich da an ein Template, Gesagt getan.
Code: Alles auswählen
class Configuration
{
private:
static Configuration* pCfg;
Configuration(){};
Configuration(const Configuration& ){};
~Configuration();
public:
static Configuration* instance();
static void destroy();
template<typename T> T getValue(const std::string &);
// bool getValue(const std::string &);
};Die getValue sieht noch wie folgt aus:
Code: Alles auswählen
template <typename T>
T Configuration::getValue( const std::string ¶mName)
{
//if (bOk) bOk = false; //first we set to false to work correct!
T returnValue = T(); // make the returntype with the returntype standard Ctor
if (paramName.length() < 1) // if we do not have any Name given we return with bOk ==false and T == std Ctor
{//TODO}
else
{//TODO}
return returnValue;
}Code: Alles auswählen
Configuration::instance()->getValue<bool>( "reporting enabled" )Ich würde jetzt vermuten das das nicht geht da das ein Plugin (also so) ist?!/home/user/projects/gui/build/CC_debug: symbol lookup error: /home/user/projects/gui/build/plugins/lib_myplugin_debug.so: undefined symbol: _ZN13Configuration8getValueIbEET_RKSs
Das komische ist nur das sobald ich bool getValue(const std::string &); reinschreibe funkioniert es-und er geht in meine Template Variante...
Kann mir das wer erklären???? Also wieso das nicht geht? Seh grade den Wald vor lauter Bäumen nicht.
[/quote]