【问题标题】:How to assign a value to pointer object c++如何为指针对象c ++赋值
【发布时间】:2016-10-05 09:16:58
【问题描述】:

我是新来的,我希望你能解决这个问题,当我在结构或类派生的对象中使用数据类型 char 进行引用时,这是我的程序经常出现的错误或遗漏。这是我的来源。 提前致谢。

 struct test{
    public:

        char cadena[20];
        int num;

   }objeto;

  int main(){

    test *POJ = &objeto;
    (*POJ).cadena="Hello Guys";
    POJ->num=23;
    cout<<(*POJ).cadena<<", "<<POJ->num;

  }

【问题讨论】:

  • 您需要strcpy()。毕竟我推荐使用std::string
  • (*POJ).cadena 更常见的语法是POJ-&gt;cadena。您不能像这样将char * 分配给char []。请改用std::string,它具有适当的重载来使其工作。 read a book 可能比在这里问更容易。

标签: c++ pointers dev-c++


【解决方案1】:
(*POJ).cadena="Hello Guys";

cadena 是一个数组。无法分配数组。

要么将cadena 设为std::string,这是所有自尊的C++ 代码将用来存储文本字符串的内容,或者使用C 的strcpy() 函数将原始字符数据复制到一个普通的char 数组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 2020-08-17
    • 2010-09-11
    • 2019-07-10
    • 2011-10-27
    相关资源
    最近更新 更多