微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在结构中初始化字符数组的问题 VS2019 中的 Arduion 项目

如何解决在结构中初始化字符数组的问题 VS2019 中的 Arduion 项目

我上一个 C++ 项目大约是在 3 年前,我知道我在基础知识方面有一些问题。

我有一个类的东西。在我的 .h 文件中,我有一个结构:

typedef struct
{
  float fX;
  float fY;
  float fZ;
  float fRx;
  float fRy;
  float fRz;
  char aName[14] = "";
} stpoint;

一个私有变量 stpoint _stpoints[]。

在 my.cpp 中,我有一个函数

void stuff::getstuff()
{
  stpoint _stpoints[] = {
    { 164.5,0.0,241.0,90.0,180.0,-90.0,"Home"},{ 164.5,141.0,"X1"},{ 164.5 + 14.7,35.4,"X11"},{ 164.5 + 50.0,50.0,"X12"},{ 164.5 + 85.3,"X13"},{ 164.5 + 100.0,"X14"},-35.4,"X15"},-50.0,"X16"},"X17"},"X18"},{ 264.5,"X2"},100.0,"X3"},-100.0,"X4"}
  };
}

这是一个 Arduino 项目。我用的是VS2019。

我收到错误代码(只有其中一个):

stuff.cpp: 37:2: error: Could not convert '{1.645e+2,2.41e+2,9.0e+1,1.8e+2,-9.0e+1,"Home"}' from '' to 'stuff::stpoint
Error compiling project sources
Debug build Failed for project 'Roboter'

它与结构中的字符数组有关,但我不明白:(

struct stpoint _stpoints2 = { 164.5,"Home"} 给出同样的错误

解决方法

@πάνταῥεῖ

 typedef struct
 {
     float fX;
     float fY;
     float fZ;
     float fRx;
     float fRy;
     float fRz;
     char aName[14];
 } stpoint;

解决了这个问题。谢谢

,

aName = { "" } 初始化。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。