idiocydisaster 2023-03-21 23:21 采纳率: 100%
浏览 44
已结题

关于#c++#的问题,如何解决?c++不允许使用类型名

问题:c++不允许使用类型名。

img


#include <iostream>
#include <vector>
using namespace std;

class Solution
{
public:
    vector<int> sortedSquares(vector<int>& nums)
    {
        int l = 0;
        int r = nums.size() - 1;
        int pos = r;
        vector<int> ans(pos + 1, 0);
        while (l <= r)
        {
            if (abs(nums[r]) > abs(nums[l]))
            {
                ans[pos] = nums[r] * nums[r];
                r--;
                pos--;
            }
            else
            {
                ans[pos] = nums[l] * nums[l];
                l++;
                pos--;
            }
        }
        return ans;
    }
};

int main()
{
    
    vector<int>nums = { -4, -1, 0, 3, 10 };
    vector<int> v;
    v.swap(Solution.sortedSquares(nums));
    for (auto ans : v)
    {
        cout << ans << endl;
    }
}
  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2023-03-22 08:50
    关注

    因为你这个类函数不是静态函数,所以不能这么写。一个方法是将函数定义为静态函数,这样可以直接用类域访问静态函数;二是你先定义一个类实例,然后调用这个类实例的函数

     
    #include <iostream>
    #include <vector>
    using namespace std;
     
    class Solution
    {
    public:
        vector<int> sortedSquares(vector<int>& nums)
        {
            int l = 0;
            int r = nums.size() - 1;
            int pos = r;
            vector<int> ans(pos + 1, 0);
            while (l <= r)
            {
                if (abs(nums[r]) > abs(nums[l]))
                {
                    ans[pos] = nums[r] * nums[r];
                    r--;
                    pos--;
                }
                else
                {
                    ans[pos] = nums[l] * nums[l];
                    l++;
                    pos--;
                }
            }
            return ans;
        }
    };
     
    int main()
    {
        
        vector<int>nums = { -4, -1, 0, 3, 10 };
        vector<int> v;
        Solution s;
        v.swap(s.sortedSquares(nums));
        for (auto ans : v)
        {
            cout << ans << endl;
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入