//mediafactory.h
class MediaFactory{
public:
typedef Media* (*funPointer)();
funPointer somePointer;
}
//mediafactory.cpp
Media* MediaFactory::returnMedia(){
}
私がやろうとすると
somePointer = returnMedia;
このエラーが発生します:
1 IntelliSense: a value of type "Media *(MediaFactory::*)()" cannot be assigned to an entity of type "MediaFactory::funPointer" c:\Users\...\mediafactory.cpp 37
ただし、関数を以下のコードに変更すると、コンパイルされて機能します
Media* returnMedia(){ //without scope
}