weixin_51140667 2022-09-18 22:44 采纳率: 75%
浏览 18
已结题

c++指针为什么((*root).(*left)).val)这种写法vs2022不行

c++指针为什么((*root).(left)).val)这种写法vs2022不行 root->left->val或(((( * root).left)).val)就可以

这个提姆https://leetcode.cn/problems/root-equals-sum-of-children/

img

第一种写法会报错↓

img

后来发现这样写可以 原来不能带*吗 我勒个去↓

img

访问成员指针的地址就可以↓

img

所以为啥不能访问成员*left 却可以访问 left

#include<iostream>
using namespace std;

 struct TreeNode {
     int val;
     TreeNode* left;
     TreeNode* right;
     TreeNode() : val(0), left(nullptr), right(nullptr) {}
     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
}t1(6),t2(4),t3(10,&t1,&t2);

class Solution {
public:
    bool checkTree(TreeNode* root) 
    {
        if (( * root).val == ((*(( * root).left)).val) + ((*((*root).right)).val))return 1;
        else return 0;
    }
}a;

int main()
{
    cout << a.checkTree(&t3);
}

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-09-19 06:01
    关注

    因为C++没有(*root).(*left)这种语法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月20日
  • 修改了问题 9月18日
  • 创建了问题 9月18日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失