une erreur de compilation qui est contradictoire
bonjour:D
J'ai une erreur de compilation qui est contradictoire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| System::String^ wsTempSection = pOptionEx->sSectionName;
const wchar_t* chars = (const wchar_t*)(Marshal::StringToHGlobalUni( pOptionEx->sKeyName)).ToPointer();
wchar_t* tmp = (wchar_t*)chars;
Marshal::FreeHGlobal(IntPtr((void*)chars));
char* temp = CStrConv::awcstombs( tmp);
std::string sTempKeyName = temp;
CStrConv::StrFreeA(temp);
System::String^ wsDefaultValue= pOptionEx->sDefaultValue;
switch( pOptionEx->iType)
{
case 0:
if( GetStringValue( wsTempSection, sTempKeyName, wsDefaultValue, pOptionEx->sValue) != INIT_NO_ERROR) |
ce code génère une compilation qui est contradictoire :
Code:
1 2 3
| 1>..\..\..\..\Utility\OptionManager\src\Option.cpp(432): error C2664: 'SpecificationLoader::COption::GetStringValue'*: impossible de convertir le paramètre 2 de 'std::string' en 'System::String ^'
1> Aucun opérateur de conversion défini par l'utilisateur disponible, ou
1> Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé |
celui qui m'aiguillera sera :ccool:
J'utilise la version 2012
et J"ai résolu ce problème en passant tout en System::String^