Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运算符重载解决方案 我已经制作了一个C++代码。在其中保存项目的MList。我重载了_C++_Visual Studio_Pointers_Operator Overloading - Fatal编程技术网

运算符重载解决方案 我已经制作了一个C++代码。在其中保存项目的MList。我重载了

运算符重载解决方案 我已经制作了一个C++代码。在其中保存项目的MList。我重载了,c++,visual-studio,pointers,operator-overloading,C++,Visual Studio,Pointers,Operator Overloading,您正在将值添加到临时字符串中,这可能涉及隐式转换,具体取决于模板类型(这里您的数值被转换为字符) 只需打印值,无需临时字符串: friend ostream& operator<<(ostream &out, const MSet<V> &m) { out << "Size " << m.size_ << endl; out << "Cap " << m.capacity_

您正在将值添加到临时字符串中,这可能涉及隐式转换,具体取决于模板类型(这里您的数值被转换为字符)

只需打印值,无需临时字符串:

friend ostream& operator<<(ostream &out, const MSet<V> &m)
{
    out << "Size " << m.size_ << endl;
    out << "Cap " << m.capacity_ << endl;
    for (int i = 0; i < m.size_; i++)
    {
        if (i < m.size_ - 1)
            out << m.ary[i].element << ",";
        else
            out << m.ary[i].element;
    }
    return out;
}

friend-ostream&operator您正在将值添加到临时字符串中,这可能涉及隐式转换,具体取决于模板类型(此处您的数值已转换为字符)

只需打印值,无需临时字符串:

friend ostream& operator<<(ostream &out, const MSet<V> &m)
{
    out << "Size " << m.size_ << endl;
    out << "Cap " << m.capacity_ << endl;
    for (int i = 0; i < m.size_; i++)
    {
        if (i < m.size_ - 1)
            out << m.ary[i].element << ",";
        else
            out << m.ary[i].element;
    }
    return out;
}

friend ostream&Operator删除了不相关的C标记。请不要添加不相关的标签。还请学习如何创建一个。最后,您应该学习如何使用调试器,以及如何逐行检查代码。我已经使用了调试器,并逐行执行和检查了代码。调试器中显示的字符串是s=“Size 1\nCap 2\n\x3”。但是当它打印到控制台而不是3时,它会打印一些符号。我不知道。我可以在调试器中看到值3,但当它与字符串连接时,它会插入\x3。我删除了不相关的C标记。请不要添加不相关的标签。还请学习如何创建一个。最后,您应该学习如何使用调试器,以及如何逐行检查代码。我已经使用了调试器,并逐行执行和检查了代码。调试器中显示的字符串是s=“Size 1\nCap 2\n\x3”。但是当它打印到控制台而不是3时,它会打印一些符号。我不知道。我可以在调试器中看到值3,但当它与字符串连接时,会插入\x3。非常感谢您的朋友。这解决了我的问题。对此我真的很感激。你能检查一下我的代码,告诉我我是否做了很好的编码练习吗?那太好了。非常感谢你的朋友。这解决了我的问题。对此我真的很感激。你能检查一下我的代码,告诉我我是否做了很好的编码练习吗?那太好了。
friend ostream& operator<<(ostream &out, const MSet<V> &m)
{
    out << "Size " << m.size_ << endl;
    out << "Cap " << m.capacity_ << endl;
    for (int i = 0; i < m.size_; i++)
    {
        if (i < m.size_ - 1)
            out << m.ary[i].element << ",";
        else
            out << m.ary[i].element;
    }
    return out;
}