Just nu i M3-nätverket
Jump to content

Returnera sträng C++....


banski

Recommended Posts

Huga,

 

Skiver ett litet program för första gången i C++ och håller på att bli tokig.

Skriver en klass med en funktion som ska returnera ett värde som string. Värdet hämtas från registret.

 

Skulle helst skrivit detta i c# men programmet körs i c++.

 

Vad är det som blir fel? Får följande felmeddelande på koden nedan:

 

error C2146: syntax error : missing ';' before identifier 'GetWebService'

warning C4183: 'GetWebService': missing return type; assumed to be a member function returning 'int'

 

class registry_value

{

public:

static CString GetWebService()

{

RegistryKey* rk = Registry::CurrentUser->OpenSubKey(_T("Software\\PCWHandsOn\\HandsOnWMP"));

 

String* s = rk->GetValue(_T("WebServiceUrl"))->ToString();

 

return s;

 

}

 

};

#endif

 

 

Tackar ödmjukast

 

Link to comment
Share on other sites

Den känner inte till klassen CString, skulle jag tro... har du #include'at relevant headerfil? Dessutom...du returnerar en String-pekare, inte en CString... är dom samma sak i din miljö?

 

[inlägget ändrat 2005-07-19 05:56:54 av Que]

Link to comment
Share on other sites

Hej,

 

Bra fråga har försökt att returnera en CString också men inte lyckats. Får samma fel även då.

 

Har följande inkluderat...

 

#ifndef REGISTRY_VALUE_H

#define REGISTRY_VALUE_H

#include "stdafx.h"

using namespace System;

using namespace System::Diagnostics;

using namespace Microsoft::Win32;

 

 

/Thomas

 

Link to comment
Share on other sites

Kan du inte testa att inkludera:

#include <string>

och returnera en std::string ? Det är väl den string-typen som känns mest standard.

 

Link to comment
Share on other sites

jerker olofsson

Du skriver C++.NET vilket kan vara värt att nämna.

rk->GetValue returnerar en String* som du har skrivit i koden. Men returnvärdet för metoden GetWebService() är en CString. Det måste vara samma returtyp, dvs String. Men även en pekare till en System::String:

 

static String* GetWebService()

{

// ...

}

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...