Побочных эффектов нет.
Единственный эффект состоит в том, что структура находится в области видимости класса, то есть, если вы хотите использовать область видимости вне класса, она должна быть объявлена как Public
, и вы должны явно указывать имя как OuterClassName.InnerStructureName
при его использовании.
Примечательно (и в отличие от Java), структура не связана ни с каким экземпляром класса, в котором она содержится. Поэтому она не может просто получить доступ к членам экземпляра окружающего класса.