使用Visual Studio 2017学习c ++ [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Visual Studio 2017学习c ++ [重复]相关的知识,希望对你有一定的参考价值。
答案
您无法重新分配数组。定义数组后,其大小是固定的。您只能更改数组的内容而不是大小。
通过声明
nume = new char[7];
您正在定义从堆创建到现有数组变量的新数组。两者都有不同的类型,因此它们是不兼容的。
“char nume [50];”类型为'char',“new char [7]”的类型为'char *'
因此,在“=”的左侧,您应该有一个char *变量来存储堆中分配的7个char位置的起始地址。
如果您希望此变量的最大大小为50,如Student class member char nume [50]中所定义,则可以删除以下语句;
nume = new char[7];
或者您可以将成员数更改为'char*'
并在构造函数中分配内存。如果这样做,请确保删除Student类的析构函数中的内存。
喜欢
class Student
{
public:
char* nume;
// other members
Student()
{
nume = new char[7]; // Determine the size of nume here.
// Rest of the constructor code
}
~Student()
{
delete[] nume;
// Rest of the destructor code
}
};
以上是关于使用Visual Studio 2017学习c ++ [重复]的主要内容,如果未能解决你的问题,请参考以下文章
C++17 标准库包括不使用 Visual Studio 2017 中的 Android 项目
如何使用 Visual Studio 2017 Linux 支持编译和构建 C++17 代码?
使用本机单元测试项目在 Visual Studio 2017 中对 C 代码进行单元测试