戈乾 发表于 2020-10-10 21:36:59

报错error C2228: left of '.说我结构体成员不存在,未定义好

用VC++敲C++快速入门17讲代码报了两个错,我看了下和小甲鱼视频上敲得应该是一样的啊,求告知哪里写错了。以下是代码:

#include<iostream>
#include<string>

class BaseClass
{
public:
        BaseClass();
        ~BaseClass();

        void doSomething();
};

class SubClass : public BaseClass
{
public:
        SubClass();
   ~SubClass();
};

BaseClass::BaseClass()
{
        std::cout<<"进入基类构造器\n";
        std::cout<<"我在基类构造器干了某些事\n\n";
}

BaseClass::~BaseClass()
{
        std::cout<<"进入基类析构器\n";
        std::cout<<"我在基类析构器干了某些事\n\n";
}

void BaseClass::doSomething()
{
        std::cout<<"我干了某些事\n\n";
}

SubClass::SubClass()
{
        std::cout<<"进入子类构造器\n\n";
        std::cout<<"我在子类构造器干了坏事\n\n";
}

SubClass::~SubClass()
{
        std::cout<<"进入子类析构器\n\n";
}

int main()
{
        SubClass subclass;
        subcalss.doSomething();

        std::cout<<"ok\n";

        return 0;
}

有以下两个报错:
C:\Users\78191\Desktop\Cplusplus\17\17.cpp(51) : error C2065: 'subcalss' : undeclared identifier
C:\Users\78191\Desktop\Cplusplus\17\17.cpp(51) : error C2228: left of '.doSomething' must have class/struct/union type

sunrise085 发表于 2020-10-10 21:43:50

拼写错误。。。
subclass写成了subcalss

风过无痕1989 发表于 2020-10-10 22:00:51

我发了一个错误代码英中文对照:

https://fishc.com.cn/thread-180650-1-1.html

28、error C2065: ‘xxx’ : undeclared identifier
中文对照:(编译错误)未定义的标识符xxx
分析:1、如果xxx为cout、cin、scanf、printf、sqrt等,则程序中包含头文件有误 2、未定义变量、数组、函数原型等,注意拼写错误或区分大小写。

error C2228: left of '.doSomething' must have class/struct/union type
错误的原因是:非指针结构体变量. 引用操作符, 也就是.tag左边的变量不是指针变量

戈乾 发表于 2020-10-11 13:33:21

sunrise085 发表于 2020-10-10 21:43
拼写错误。。。
subclass写成了subcalss

额 怪我眼瞎{:5_104:}

戈乾 发表于 2020-10-11 13:35:15

风过无痕1989 发表于 2020-10-10 22:00
我发了一个错误代码英中文对照:

https://fishc.com.cn/thread-180650-1-1.html


好的 谢谢

sunrise085 发表于 2020-10-11 14:07:31

戈乾 发表于 2020-10-11 13:33
额 怪我眼瞎

问题解决了就尽快评一个最佳答案,结贴吧
页: [1]
查看完整版本: 报错error C2228: left of '.说我结构体成员不存在,未定义好