Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.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/8/variables/2.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++ 获取成员的错误请求';长度';在';rw#u ssid';,属于非类类型';字符*';_C++_Arrays_Function_Char_Arduino C++ - Fatal编程技术网

C++ 获取成员的错误请求';长度';在';rw#u ssid';,属于非类类型';字符*';

C++ 获取成员的错误请求';长度';在';rw#u ssid';,属于非类类型';字符*';,c++,arrays,function,char,arduino-c++,C++,Arrays,Function,Char,Arduino C++,我有一个公共函数save,它接受文件配置.cpp中的rw_ssid和rw_pswdchar类型变量 namespace Eeprom { void configuration::initialize(){ EEPROM.begin(512); } void configuration::save(char* rw_ssid, char* rw_pswd) { for (int i = 0; i < 128; ++i) { EEPROM.write(i, 0)

我有一个公共函数save,它接受文件配置.cpp中的
rw_ssid
rw_pswd
char
类型变量

namespace Eeprom
{

void configuration::initialize(){
    EEPROM.begin(512);
}

void configuration::save(char* rw_ssid, char* rw_pswd) {
    for (int i = 0; i < 128; ++i) {
      EEPROM.write(i, 0);
      delay(10);
    }
    for (int i = 0; i < rw_ssid.length(); ++i) {
      EEPROM.write(i, rw_ssid[i]);
    }
    for (int i = 0; i < rw_pswd.length(); ++i) {
      EEPROM.write(32 + i, rw_pswd[i]);
    }

    EEPROM.commit();
    Serial.println("Written to EEPROM!");
    Serial.print("SSID: ");
    Serial.println(rw_ssid);
    Serial.print("PASS: ");
    Serial.println(rw_pswd);
    Funcs::connection::connectWifi(rw_ssid, rw_pswd);
    Serial.print("IP connection: ");
    Serial.println(WiFi.localIP());
  }

void configuration::save(char* rw_ssid, char* rw_pswd) {
    for (int i = 0; i < 128; ++i) {
      EEPROM.write(i, 0);
      delay(10);
    }
    for (int i = 0; i < rw_ssid.length(); ++i) {
      EEPROM.write(i, rw_ssid[i]);
    }
    for (int i = 0; i < rw_pswd.length(); ++i) {
      EEPROM.write(32 + i, rw_pswd[i]);
    }

    EEPROM.commit();
    Serial.println("Written to EEPROM!");
    Serial.print("SSID: ");
    Serial.println(rw_ssid);
    Serial.print("PASS: ");
    Serial.println(rw_pswd);
    Funcs::connection::connectWifi(rw_ssid, rw_pswd);
    Serial.print("IP connection: ");
    Serial.println(WiFi.localIP());
  }
}
编译时,我遇到以下错误:

sketch/configuration.cpp: In static member function 'static void Eeprom::configuration::save(char*, char*)':
configuration.cpp:19: error: request for member 'length' in 'rw_ssid', which is of non-class type 'char*'
     for (int i = 0; i < rw_ssid.length(); ++i) {
                                 ^
configuration.cpp:22: error: request for member 'length' in 'rw_pswd', which is of non-class type 'char*'
     for (int i = 0; i < rw_pswd.length(); ++i) {
                                 ^
configuration.cpp:34: error: 'WiFi' was not declared in this scope
     Serial.println(WiFi.localIP());
                    ^
sketch/configuration.cpp: In static member function 'static char* Eeprom::configuration::read()':
configuration.cpp:41: error: expected identifier before numeric constant
     char* read_ssid_pswd = [2];
                             ^
sketch/configuration.cpp: In lambda function:
configuration.cpp:41: error: expected '{' before ';' token
     char* read_ssid_pswd = [2];
                               ^
sketch/configuration.cpp: In static member function 'static char* Eeprom::configuration::read()':
configuration.cpp:41: error: cannot convert 'Eeprom::configuration::read()::__lambda0' to 'char*' in initialization
configuration.cpp:55: error: invalid conversion from 'char*' to 'char' [-fpermissive]
       read_ssid_pswd[0] = rw_ssid;
                         ^
configuration.cpp:56: error: invalid conversion from 'char*' to 'char' [-fpermissive]
       read_ssid_pswd[1] = rw_pswd;
                         ^
exit status 1
request for member 'length' in 'rw_ssid', which is of non-class type 'char*'
sketch/configuration.cpp:在静态成员函数“static void Eeprom::configuration::save(char*,char*)”中:
configuration.cpp:19:错误:请求'rw_ssid'中的成员'length',该成员为非类类型'char*'
对于(int i=0;i

我是cpp的新手,在实践中学习。

char*没有长度方法。要么需要
strlen(rw_ssid
),要么应该使用std::string

sketch/configuration.cpp: In static member function 'static void Eeprom::configuration::save(char*, char*)':
configuration.cpp:19: error: request for member 'length' in 'rw_ssid', which is of non-class type 'char*'
     for (int i = 0; i < rw_ssid.length(); ++i) {
                                 ^
configuration.cpp:22: error: request for member 'length' in 'rw_pswd', which is of non-class type 'char*'
     for (int i = 0; i < rw_pswd.length(); ++i) {
                                 ^
configuration.cpp:34: error: 'WiFi' was not declared in this scope
     Serial.println(WiFi.localIP());
                    ^
sketch/configuration.cpp: In static member function 'static char* Eeprom::configuration::read()':
configuration.cpp:41: error: expected identifier before numeric constant
     char* read_ssid_pswd = [2];
                             ^
sketch/configuration.cpp: In lambda function:
configuration.cpp:41: error: expected '{' before ';' token
     char* read_ssid_pswd = [2];
                               ^
sketch/configuration.cpp: In static member function 'static char* Eeprom::configuration::read()':
configuration.cpp:41: error: cannot convert 'Eeprom::configuration::read()::__lambda0' to 'char*' in initialization
configuration.cpp:55: error: invalid conversion from 'char*' to 'char' [-fpermissive]
       read_ssid_pswd[0] = rw_ssid;
                         ^
configuration.cpp:56: error: invalid conversion from 'char*' to 'char' [-fpermissive]
       read_ssid_pswd[1] = rw_pswd;
                         ^
exit status 1
request for member 'length' in 'rw_ssid', which is of non-class type 'char*'