静态构造函数create中为什么不能创建一个Sprite?报错

因为某些原因,我试图在自定义的create函数中建造一个Sprite,但是却失败,我想问下为什么?

static obj* create(const char* pic);

obj* obj::create(const char* pic){
auto pRet = new obj;
if(pRet && pRet->init()){

    pRet->sprite = Sprite::create("pic");
    pRet->addChild(pRet->sprite);
    pRet->autorelease();
}
else{
    delete pRet;
    pRet=nullptr;
}
return pRet;

}

这样以后,当我调用一下语句的时候就会报错:
sprite->runAction(…);

在create中创建和在init中创建有什么区别吗?

静态方法实属整个类,而不是某个具体实例,所以没有this指针。。。所有访问不了类中的非静态成员

可是我已经通过pRet指针进行访问了。

没人知道吗……

是什么错误??可以帖出来一下~~

抱歉,没有认真阅读就回答了,可以的话贴出错误信息来看看吧,你这里调试sprite有没有创建?

pic是什么。。。怎么没后缀名啊。。

pRet->sprite = Sprite::create(“pic”);pic为什么会有引号?