с ++ передать объект класса по ссылке?

У меня проблемы с работой с сторонними dll, libs и заголовочными файлами. Я пытаюсь вызвать функцию, и она возвращает значение без удачи.
Вот функция, которая должна быть вызвана.

bool COAuthSDK :: GetRequestToken (CClientDetails &objClientDetails)

Он имеет эту информацию о том, что ему нужно

Название IN / OUT Описание
m_environment IN Необязательно. Возможные значения: SANDBOX (по умолчанию) и LIVE.
m_strConsumerKey IN Ключ пользователя OAuth, предоставленный E * TRADE
m_strConsumerSecret IN OAuth — секрет пользователя, предоставленный E * TRADE
m_strToken OUT Возвращается функцией в случае успеха
m_strTokenSecret OUT Возвращается функцией в случае успеха
m_strCallback IN Необязательно; значение по умолчанию «oob»

Вот заголовок COAuthSDK.

#ifndef _OAUTHSDK_H_INCLUDED_
#define _OAUTHSDK_H_INCLUDED_

#include "ETCOMMON\CommonDefs.h"#include "ETCOMMON\OAuthHelper.h"using namespace std;

#ifdef OAUTH_LIBRARY_EXPORT // inside DLL
#   define OAUTH_API   __declspec(dllexport)
#else //outside DLL
#   define OAUTH_API   __declspec(dllimport)
#endif  //OAUTH_LIBRARY_EXPORT

class OAUTH_API COAuthSDK
{
public:
COAuthSDK(void);
virtual ~COAuthSDK(void);

bool GetRequestToken(CClientDetails &objClientDetails) throw (...);
bool GetAccessToken(CClientDetails &objClientDetails,string strVerifier) throw (...);
void RenewToken(CClientDetails &objClientDetails) throw (...);
void RevokeToken(CClientDetails &objClientDetails) throw (...);
string AuthorizeUrl(CClientDetails &objClientDetails) throw (...);

string GetProtectedResourse(CClientDetails &objClientDetails,string strUrl,       HttpMethodConstants httpMethod = GETMethod, string postParameters = NULL) throw (...);

};

#endif//_OAUTHSDK_H_INCLUDED_

и заголовок CClientDetails

#pragma once

#ifndef _CLIENTDETAILS_H_INCLUDED_
#define _CLIENTDETAILS_H_INCLUDED_

using namespace std;

#include "CommonDefs.h"
#ifdef COMMON_LIBRARY_EXPORT // inside DLL
#   define COMMON_API   __declspec(dllexport)
#else // outside DLL
#   define COMMON_API   __declspec(dllimport)
#endif  // COMMON_LIBRARY_EXPORT

class COMMON_API CClientDetails
{
public:
CClientDetails();
CClientDetails(string strConsumerKey,string strConsumerSecret,Environment environment);
virtual ~CClientDetails ();

Environment GetEnv();
void SetEnv(Environment env);

string GetConsumerKey();
void SetConsumerKey(string consumerKey);

string GetConsumerSecret();
void SetConsumerSecret(string consumerSecret);

string GetToken();
void SetToken(string token);

string GetTokenSecret();
void SetTokenSecret(string tokenSecret);

private :
Environment m_environment;
string m_strConsumerKey;
string m_strConsumerSecret;
string m_strToken;
string m_strTokenSecret;
string m_strCallback;
};
#endif//_CLIENTDETAILS_H_INCLUDED

и мой основной CPP.

int _tmain(int argc, _TCHAR* argv[]){CClientDetails clientDetails;

CClientDetails objClientDetails;
GetRequestToken(CClientDetails &objClientDetails);
objClientDetails.SetEnv(SANDBOX);
objClientDetails.SetConsumerKey("1f5328f725dee654e0a4499f161b8fe4c6e");
objClientDetails.SetConsumerSecret("d39a8043cc0c7686920fd0655e47281e6a5");
objClientDetails.GetToken();
objClientDetails.GetTokenSecret();
cin.get();
cin.get();
return 0;

}`

Когда я пытаюсь построить функцию, она говорит, что она в DLL, так что я знаю, что должен вызвать ее. Если кто-то может помочь, это будет с благодарностью. Вот ссылка на сайт сборки при необходимости https://us.etrade.com/ctnt/dev-portal/getContent?contentUri=V0_Code-SDKGuides-VC

0

Решение

GetRequestToken(CClientDetails &objClientDetails);

не хорошо. Вам нужно что-то вроде

COAuthSDK sdk;
sdk.GetRequestToken(objClientDetails);

обратите внимание, что это всего лишь некоторый правильный синтаксис, вы должны выяснить из dox, как получить экземпляр sdk для использования.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]