【发布时间】:2010-10-31 03:19:54
【问题描述】:
我是来自非托管 C++ 世界的 C++ CLI 新手。
我收到此错误:
candidate function(s) not accessible
当我将 std::string 作为方法参数的一部分传递时。
这是确切的代码:
Lib 项目(编译为 .dll 项目)
//Lib.h
#pragma once
public ref class Lib
{
public:
Lib(void);
public:
void Extract( std::string& data_ );
};
//Lib.cpp
#include "Lib.h"
Lib::Lib(void)
{
}
void Lib::Extract( std::string& data_ )
{
data_.empty();
}
LibTest 项目(编译为 application.exe)
// LibTest.h
#pragma once
ref class LibTest
{
public:
LibTest(void);
};
// LibTest.cpp
#include "LibTest.h"
LibTest::LibTest(void)
{
Lib^ lib = gcnew Lib;
lib->Extract( std::string("test") );
}
int main()
{
return 0;
}
编译器错误:
1>------ Build started: Project: LibTest, Configuration: Debug Win32 ------
1>Compiling...
1>LibTest.cpp
1>.\LibTest.cpp(7) : error C3767: 'Lib::Extract': candidate function(s) not accessible
【问题讨论】:
-
你可以使用
string而不是char*@sivabudh @BenSchwen
标签: c++-cli