Amacım bir sınıf gibi:C++ sınıfı üye yapı tanımlamak ve bir üye işlev iade
class UserInformation
{
public:
userInfo getInfo(int userId);
private:
struct userInfo
{
int repu, quesCount, ansCount;
};
userInfo infoStruct;
int date;
};
userInfo UserInformation::getInfo(int userId)
{
infoStruct.repu = 1000;
return infoStruct;
}
ancak derleyici hata veriyor kamu görevi getInfo(int)
ait Definition dönüş tipi userInfo
bir tür olmadığını ad.
Neden userInfo için "UserInfomation" niteleyicisine ihtiyacımız var. Derleyici varsayılan olarak 'UserInformation' adkopini kontrol etmemeli mi? – anaken78
@ anaken78 Siz, ben ya da başka biri, uyumlu bir derleyici _should_'ın alakasız olduğunu düşünüyor. Bu, ** yaptığı gibi. Sınıf, fonksiyonun argüman listesi açılıncaya kadar kapsam dahilinde değildir, bu yüzden oradaki isimler niteliksiz olarak görülemez. Bunun ardındaki mantığın, ayrıştırma ve neyin değil, başka bir yerde tartışıldığına eminim. Ya da sadece bir geri dönüş tipi kullanın: 'auto UserInformation :: getInfo (int userId) -> userInfo' (btw, bunlar bazı kötü adlandırma seçenekleridir). Sınıf ve üyeleri, geri dönüş türü bu konumda beyan edildiğinde kapsam dahilindedir. –