【发布时间】:2016-08-27 07:54:51
【问题描述】:
我只是想设计一个类来设置和获取 C++ 学生的详细信息。
因此,为了设置学生的详细信息,我调用了set_data(name,roll) 方法。但是这个编译错误即将到来。我已按预期将与实际参数相同的数据类型传递给函数。我不明白为什么会出现错误。
G:\>g++ 5.cpp
5.cpp: In function 'int main()'
5.cpp:26:23: warning: deprecate
rite-strings]
obj.set_data("asdf",15);
代码是---
#include<iostream>
using namespace std;
#include<string.h>
#include<stdlib.h>
class pntr_obj
{
char *name;
int roll;
public:
void set_data(char *name,int roll)
{
this->name=name;
this->roll=roll;
}
void print()
{
cout<<"name is "<<this->name<<endl;
cout<<"roll is "<<this->roll<<endl;
}
};
int main()
{
pntr_obj obj;
obj.set_data("asdf",15);
obj.print();
return 0;
}
【问题讨论】:
-
缩进你的代码,
please -
您了解字符串文字 (
"asdf") 的 type 是什么了吗? -
将 *char 更改为字符串。
-
"asdf" 被当作一个字符串,如果我错了,请纠正我
-
下一次,请在发布新问题之前搜索您收到的错误消息/警告。这很容易找到。
标签: c++