据我了解,这应该有效:
const char* x = "x";
std::cout << x << std::endl;
将 x 传递给此函数:
void myClass::passAsVoid(void* v) {
std::cout << (const char*)v << std::endl;
}
第一个示例打印“x”;
第二个示例打印“\350\224A”;
我想了解发生了什么,以及正确的方法!
实际代码:
float delay = 1;
std::string txt = "random filler text that is not lorum ipsum";
for (int i = 0; i < txt.length(); ++i) {
const char* x = "x";
std::cout << x << "code1" << std::endl;
CCSequence* seq = CCSequence::create(CCDelayTime::create(i*delay),
CCCallFuncND::create( this, callfuncND_selector(OverWorldView::setString), (void*)x ),
NULL);
this->runAction(seq);
}
回调函数:
void OverWorldView::setString(void* x) {
std::cout << (const char*)x << "code2" << std::endl;
label1->setString( (const char*)x );
}
我正在使用 cocos2dx 2.1.4