Basado en tu implementación esta sería el código que debe funcionar.
Código C++:
Ver original#include<iostream>
using namespace std;
int main(){
int sum, num=29, i, conta=0, perfecto;
while(conta<1){
sum=1;
for(i=2; i<num; i++){
if (num%i==0){
sum+=i;
}
}
if (num==sum){
perfecto=num;
conta++;
}
num++;
}
cout<<"El numero perfecto que sigue al 28 es: "<<perfecto<<endl;
return 0;}