As the error says - it indicates subPagesToCache function does not exist in your page model. Check the function is in your Page class as per http://doc.silverstripe.org/sapphire/en/reference/staticpublisher#usage
The problem is, I can understand what to insert where, as it is in the docs, that is Copy&Paste. It does however not really explain why.
And the docs get very fast very confusing, if I try to follow them.
Could you post your Page.php just so we can check? It sounds like you are unsure.
To explain why you need to have those functions the best place to understand is the actual code - https://github.com/silverstripe/silverstripe-cms/blob/master/code/staticpublisher/StaticPublisher.php.
* allPagesToCache() returns an array of all the url segments you would want to cache
* subPagesToCache you don't need to define but in that example allPagesToCache calls that function. Think of it as a helper function
* pagesAffectedByChanges is optional. If you have it you need to return an array of url segments you want to update when publishing the current page (often you'll want to also update the homepage).