diff --git a/lib/checkclass.cpp b/lib/checkclass.cpp index dd55a2a87..39074a8b6 100644 --- a/lib/checkclass.cpp +++ b/lib/checkclass.cpp @@ -402,11 +402,15 @@ bool CheckClass::canNotCopy(const Scope *scope) for (func = scope->functionList.begin(); func != scope->functionList.end(); ++func) { if (func->isConstructor()) constructor = true; - if ((func->type == Function::eCopyConstructor) && - func->access == Public) + if (func->access != Public) + continue; + if (func->type == Function::eCopyConstructor) { publicCopy = true; - else if (func->type == Function::eOperatorEqual && func->access == Public) + break; + } else if (func->type == Function::eOperatorEqual) { publicAssign = true; + break; + } } return constructor && !(publicAssign || publicCopy);