2301_79301599 2023-10-12 13:19 采纳率: 50%
浏览 72
已结题

error C2143: 语法错误 : 缺少“)”(在“;”的前面)

这该怎么改?真看不出来哪里错了,出错指向的是构造函数,代码如下:


template <typename T>
class Vector
{
private:
    int _capability;Rank _size;T* _elem;
public:
    Vector(int c=DEFAULT_CAPABILITY,int s=0,T v=0)
    {
        _elem=new T[_capability=c];
        for(_size=0;_size<s;_elem[_size++]=v);
    }
    ~Vector(){delete [] _elem;}
    void expand();
    Rank insert(Rank r,T const &e);
    void BubbleSort_up();
    void BubbleSort_down();
    void swap(T const &a,T const &b);
    void show(int lo,int hi);
};

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-12 13:40
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    代码中的问题在于缺少头文件的引用和一些变量的声明。
    以下是修改后的代码:

    #ifndef VECTOR_H
    #define VECTOR_H
    
    template <typename T>
    class Vector
    {
    private:
        static const int DEFAULT_CAPABILITY = 16;
        int _capability;
        int _size;
        T* _elem;
    
    public:
        Vector(int c = DEFAULT_CAPABILITY, int s = 0, T v = 0)
        {
            _elem = new T[_capability = c];
            for (_size = 0; _size < s; _elem[_size++] = v)
                ;
        }
    
        ~Vector()
        {
            delete[] _elem;
        }
    
        void expand();
        int insert(int r, T const& e);
        void BubbleSort_up();
        void BubbleSort_down();
        void swap(T& a, T& b);
        void show(int lo, int hi);
    };
    
    #endif
    

    在上述修改后的代码中,我添加了头文件的引用 "#ifndef VECTOR_H" 和 "#define VECTOR_H",用于避免多次包含同一个头文件。另外,我将变量 _capability、_size 和 DEFAULT_CAPABILITY 声明为 int 类型,加上了类型声明 T,并且将变量声明放在了类的私有部分。
    还修改了 insert 函数的返回类型和 swap 函数的参数类型,将传入参数改为引用类型以便正确交换值。
    请注意,上述代码仅仅只是针对语法错误的修改,还未提供所有的函数实现。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术