Error C2662, cannot convert ‘this’ pointer from ‘const class ’ to ‘class &’

本文探讨了C++中常量对象调用非常量成员函数导致的编译错误,并提供了修改示例代码使其正确运行的方法。通过在获取成员变量的函数后添加const关键字,解决了编译器匹配问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[c-sharp]  view plain copy
  1. class Point3d  
  2. {  
  3. public:  
  4.     Point3d(float x=0.0,float y=0.0,float z=0.0)  
  5.         :_x(x),_y(y),_z(z)  
  6.     {  
  7.     }  
  8.   
  9.     float GetX() {return _x;}  
  10.     float GetY() {return _y;}  
  11.     float GetZ() {return _z;}  
  12.   
  13. private:  
  14.     float _x,_y,_z;  
  15. };  
  16.   
  17. inline ostream& operator<<(ostream&out,const Point3d& pd)  
  18. {  
  19.     out<<pd.GetX()<<" "<<pd.GetY()<<" "<<pd.GetZ()<<endl;  
  20.   
  21.     return out;  
  22. }  

上述的代码是导致错误的例子。错误主要的原因是const类型的对调用非const类型的方法导致的。

由于const对象在调用成员函数时,会将this指针强制转换成const this指针,它调用成员函数时会去找对应的const Get*函数,而编译器无法将非const类型的Get*函数转换成const类型的Get*函数,因此出现编译错误。

解决方法就是将Get*函数转化为const类型的函数

在对应函数后面加上const关键字

[c-sharp]  view plain copy
  1. class Point3d  
  2. {  
  3. public:  
  4.     Point3d(float x=0.0,float y=0.0,float z=0.0)  
  5.         :_x(x),_y(y),_z(z)  
  6.     {  
  7.     }  
  8.   
  9.     float GetX() const{return _x;}  
  10.     float GetY() const{return _y;}  
  11.     float GetZ() const{return _z;}  
  12.   
  13. private:  
  14.     float _x,_y,_z;  
  15. };  
  16.   
  17. inline ostream& operator<<(ostream&out,const Point3d& pd)  
  18. {  
  19.     out<<pd.GetX()<<" "<<pd.GetY()<<" "<<pd.GetZ()<<endl;  
  20.   
  21.     return out;  
  22. }  

因此书《深度探索C++对象模型》第一章关于对象模型 P2页举得例子有问题的。它的代码是上面出错的代码。

D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp: In function &#39;bool ClockEnable(int, int)&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp:7:26: error: &#39;PERIPH_LEDC_MODULE&#39; was not declared in this scope 7 | periph_module_enable(PERIPH_LEDC_MODULE); | ^~~~~~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp:7:5: error: &#39;periph_module_enable&#39; was not declared in this scope 7 | periph_module_enable(PERIPH_LEDC_MODULE); | ^~~~~~~~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp:10:16: error: &#39;struct ledc_timer_config_t&#39; has no member named &#39;bit_num&#39; 10 | timer_conf.bit_num = (ledc_timer_bit_t)1; | ^~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp:12:29: error: &#39;LEDC_HIGH_SPEED_MODE&#39; was not declared in this scope; did you mean &#39;LEDC_LOW_SPEED_MODE&#39;? 12 | timer_conf.speed_mode = LEDC_HIGH_SPEED_MODE; | ^~~~~~~~~~~~~~~~~~~~ | LEDC_LOW_SPEED_MODE D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp: In function &#39;void ClockDisable()&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp:36:27: error: &#39;PERIPH_LEDC_MODULE&#39; was not declared in this scope 36 | periph_module_disable(PERIPH_LEDC_MODULE); | ^~~~~~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\XClk.cpp:36:5: error: &#39;periph_module_disable&#39; was not declared in this scope 36 | periph_module_disable(PERIPH_LEDC_MODULE); | ^~~~~~~~~~~~~~~~~~~~~ In file included from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\OV7670.h:2, from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\OV7670.cpp:1: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:15: error: variable or field &#39;IRAM_ATTR&#39; declared void 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:15: error: expected &#39;;&#39; at end of member declaration 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~ | ; D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:25: error: ISO C++ forbids declaration of &#39;i2sInterrupt&#39; with no type [-fpermissive] 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:15: error: variable or field &#39;IRAM_ATTR&#39; declared void 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:15: error: expected &#39;;&#39; at end of member declaration 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~ | ; D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:25: error: ISO C++ forbids declaration of &#39;vSyncInterrupt&#39; with no type [-fpermissive] 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h: In static member function &#39;static void I2SCamera::i2sConfReset()&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:42: error: &#39;I2S_IN_RST_M&#39; was not declared in this scope; did you mean &#39;I2S_RX_RESET_M&#39;? 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~ | I2S_RX_RESET_M D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:57: error: &#39;I2S_AHBM_RST_M&#39; was not declared in this scope 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:74: error: &#39;I2S_AHBM_FIFO_RST_M&#39; was not declared in this scope; did you mean &#39;I2S_RX_FIFO_RESET_M&#39;? 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~~~~~~~~ | I2S_RX_FIFO_RESET_M D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:52:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;lc_conf&#39;; did you mean &#39;rx_conf&#39;? 52 | I2S0.lc_conf.val |= lc_conf_reset_flags; | ^~~~~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:53:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;lc_conf&#39;; did you mean &#39;rx_conf&#39;? 53 | I2S0.lc_conf.val &amp;= ~lc_conf_reset_flags; | ^~~~~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:56:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 56 | I2S0.conf.val |= conf_reset_flags; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:57:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 57 | I2S0.conf.val &amp;= ~conf_reset_flags; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:58:23: error: &#39;volatile union i2s_dev_s::&lt;unnamed&gt;&#39; has no member named &#39;rx_fifo_reset_back&#39; 58 | while (I2S0.state.rx_fifo_reset_back); | ^~~~~~~~~~~~~~~~~~ In file included from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:2: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:15: error: variable or field &#39;IRAM_ATTR&#39; declared void 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:15: error: expected &#39;;&#39; at end of member declaration 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~ | ; D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:25: error: ISO C++ forbids declaration of &#39;i2sInterrupt&#39; with no type [-fpermissive] 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:15: error: variable or field &#39;IRAM_ATTR&#39; declared void 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:15: error: expected &#39;;&#39; at end of member declaration 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~ | ; D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:25: error: ISO C++ forbids declaration of &#39;vSyncInterrupt&#39; with no type [-fpermissive] 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h: In static member function &#39;static void I2SCamera::i2sConfReset()&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:42: error: &#39;I2S_IN_RST_M&#39; was not declared in this scope; did you mean &#39;I2S_RX_RESET_M&#39;? 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~ | I2S_RX_RESET_M D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:57: error: &#39;I2S_AHBM_RST_M&#39; was not declared in this scope 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:74: error: &#39;I2S_AHBM_FIFO_RST_M&#39; was not declared in this scope; did you mean &#39;I2S_RX_FIFO_RESET_M&#39;? 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~~~~~~~~ | I2S_RX_FIFO_RESET_M D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:52:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;lc_conf&#39;; did you mean &#39;rx_conf&#39;? 52 | I2S0.lc_conf.val |= lc_conf_reset_flags; | ^~~~~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:53:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;lc_conf&#39;; did you mean &#39;rx_conf&#39;? 53 | I2S0.lc_conf.val &amp;= ~lc_conf_reset_flags; | ^~~~~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:56:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 56 | I2S0.conf.val |= conf_reset_flags; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:57:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 57 | I2S0.conf.val &amp;= ~conf_reset_flags; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:58:23: error: &#39;volatile union i2s_dev_s::&lt;unnamed&gt;&#39; has no member named &#39;rx_fifo_reset_back&#39; 58 | while (I2S0.state.rx_fifo_reset_back); | ^~~~~~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp: At global scope: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:20:16: error: no declaration matches &#39;void I2SCamera::i2sInterrupt(void*)&#39; 20 | void IRAM_ATTR I2SCamera::i2sInterrupt(void* arg) | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:87:25: note: candidate is: &#39;int I2SCamera::i2sInterrupt(void*)&#39; 87 | static void IRAM_ATTR i2sInterrupt(void* arg); | ^~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:15:7: note: &#39;class I2SCamera&#39; defined here 15 | class I2SCamera | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:46:16: error: no declaration matches &#39;void I2SCamera::vSyncInterrupt(void*)&#39; 46 | void IRAM_ATTR I2SCamera::vSyncInterrupt(void* arg) | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:88:25: note: candidate is: &#39;int I2SCamera::vSyncInterrupt(void*)&#39; 88 | static void IRAM_ATTR vSyncInterrupt(void* arg); | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:15:7: note: &#39;class I2SCamera&#39; defined here 15 | class I2SCamera | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp: In static member function &#39;static void I2SCamera::i2sStop()&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:61:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 61 | I2S0.conf.rx_start = 0; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp: In static member function &#39;static void I2SCamera::i2sRun()&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:77:49: error: no match for &#39;operator=&#39; (operand types are &#39;volatile i2s_dev_s::&lt;unnamed union&gt;&#39; and &#39;int&#39;) 77 | I2S0.rx_eof_num = dmaBuffer[0]-&gt;sampleCount(); | ^ In file included from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:7: C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/soc/esp32s3/register/soc/i2s_struct.h:306:11: note: candidate: &#39;constexpr i2s_dev_s::&lt;unnamed union&gt;&amp; i2s_dev_s::&lt;unnamed union&gt;::operator=(const i2s_dev_s::&lt;unnamed union&gt;&amp;)&#39; 306 | union { | ^ C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/soc/esp32s3/register/soc/i2s_struct.h:306:11: note: no known conversion for argument 1 from &#39;int&#39; to &#39;const i2s_dev_s::&lt;unnamed union&gt;&amp;&#39; C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/soc/esp32s3/register/soc/i2s_struct.h:306:11: note: candidate: &#39;constexpr i2s_dev_s::&lt;unnamed union&gt;&amp; i2s_dev_s::&lt;unnamed union&gt;::operator=(i2s_dev_s::&lt;unnamed union&gt;&amp;&amp;)&#39; C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/soc/esp32s3/register/soc/i2s_struct.h:306:11: note: no known conversion for argument 1 from &#39;int&#39; to &#39;i2s_dev_s::&lt;unnamed union&gt;&amp;&amp;&#39; D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:78:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;in_link&#39; 78 | I2S0.in_link.addr = (uint32_t)&amp;(dmaBuffer[0]-&gt;descriptor); | ^~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:79:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;in_link&#39; 79 | I2S0.in_link.start = 1; | ^~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:82:18: error: &#39;volatile union i2s_dev_s::&lt;unnamed&gt;&#39; has no member named &#39;in_done&#39; 82 | I2S0.int_ena.in_done = 1; | ^~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:85:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 85 | I2S0.conf.rx_start = 1; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp: In static member function &#39;static bool I2SCamera::initVSync(int)&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:94:25: error: ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say &#39;&amp;I2SCamera::vSyncInterrupt&#39; [-fpermissive] 94 | if(gpio_isr_register(&amp;vSyncInterrupt, (void*)&quot;vSyncInterrupt&quot;, ESP_INTR_FLAG_INTRDISABLED | ESP_INTR_FLAG_IRAM, &amp;vSyncInterruptHandle) != ESP_OK) | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:94:24: error: cannot convert &#39;int (I2SCamera::*)(void*)&#39; to &#39;void (*)(void*)&#39; 94 | if(gpio_isr_register(&amp;vSyncInterrupt, (void*)&quot;vSyncInterrupt&quot;, ESP_INTR_FLAG_INTRDISABLED | ESP_INTR_FLAG_IRAM, &amp;vSyncInterruptHandle) != ESP_OK) | ^~~~~~~~~~~~~~~ | | | int (I2SCamera::*)(void*) In file included from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:9: C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/esp_driver_gpio/include/driver/gpio.h:251:36: note: initializing argument 1 of &#39;esp_err_t gpio_isr_register(void (*)(void*), void*, int, intr_handle_data_t**)&#39; 251 | esp_err_t gpio_isr_register(void (*fn)(void *), void *arg, int intr_alloc_flags, gpio_isr_handle_t *handle); | ~~~~~~~^~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp: In static member function &#39;static bool I2SCamera::i2sInit(int, int, int, int, int, int, int, int, int, int, int)&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:141:27: error: &#39;I2S0I_DATA_IN0_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 141 | gpio_matrix_in(D0, I2S0I_DATA_IN0_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:141:5: error: &#39;gpio_matrix_in&#39; was not declared in this scope 141 | gpio_matrix_in(D0, I2S0I_DATA_IN0_IDX, false); | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:142:27: error: &#39;I2S0I_DATA_IN1_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 142 | gpio_matrix_in(D1, I2S0I_DATA_IN1_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:143:27: error: &#39;I2S0I_DATA_IN2_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 143 | gpio_matrix_in(D2, I2S0I_DATA_IN2_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:144:27: error: &#39;I2S0I_DATA_IN3_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 144 | gpio_matrix_in(D3, I2S0I_DATA_IN3_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:145:27: error: &#39;I2S0I_DATA_IN4_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 145 | gpio_matrix_in(D4, I2S0I_DATA_IN4_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:146:27: error: &#39;I2S0I_DATA_IN5_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 146 | gpio_matrix_in(D5, I2S0I_DATA_IN5_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:147:27: error: &#39;I2S0I_DATA_IN6_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 147 | gpio_matrix_in(D6, I2S0I_DATA_IN6_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:148:27: error: &#39;I2S0I_DATA_IN7_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 148 | gpio_matrix_in(D7, I2S0I_DATA_IN7_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:149:27: error: &#39;I2S0I_DATA_IN8_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 149 | gpio_matrix_in(0x30, I2S0I_DATA_IN8_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:150:27: error: &#39;I2S0I_DATA_IN9_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 150 | gpio_matrix_in(0x30, I2S0I_DATA_IN9_IDX, false); | ^~~~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:151:27: error: &#39;I2S0I_DATA_IN10_IDX&#39; was not declared in this scope; did you mean &#39;CAM_DATA_IN10_IDX&#39;? 151 | gpio_matrix_in(0x30, I2S0I_DATA_IN10_IDX, false); | ^~~~~~~~~~~~~~~~~~~ | CAM_DATA_IN10_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:152:27: error: &#39;I2S0I_DATA_IN11_IDX&#39; was not declared in this scope; did you mean &#39;CAM_DATA_IN11_IDX&#39;? 152 | gpio_matrix_in(0x30, I2S0I_DATA_IN11_IDX, false); | ^~~~~~~~~~~~~~~~~~~ | CAM_DATA_IN11_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:153:27: error: &#39;I2S0I_DATA_IN12_IDX&#39; was not declared in this scope; did you mean &#39;CAM_DATA_IN12_IDX&#39;? 153 | gpio_matrix_in(0x30, I2S0I_DATA_IN12_IDX, false); | ^~~~~~~~~~~~~~~~~~~ | CAM_DATA_IN12_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:154:27: error: &#39;I2S0I_DATA_IN13_IDX&#39; was not declared in this scope; did you mean &#39;CAM_DATA_IN13_IDX&#39;? 154 | gpio_matrix_in(0x30, I2S0I_DATA_IN13_IDX, false); | ^~~~~~~~~~~~~~~~~~~ | CAM_DATA_IN13_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:155:27: error: &#39;I2S0I_DATA_IN14_IDX&#39; was not declared in this scope; did you mean &#39;CAM_DATA_IN14_IDX&#39;? 155 | gpio_matrix_in(0x30, I2S0I_DATA_IN14_IDX, false); | ^~~~~~~~~~~~~~~~~~~ | CAM_DATA_IN14_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:156:27: error: &#39;I2S0I_DATA_IN15_IDX&#39; was not declared in this scope; did you mean &#39;CAM_DATA_IN15_IDX&#39;? 156 | gpio_matrix_in(0x30, I2S0I_DATA_IN15_IDX, false); | ^~~~~~~~~~~~~~~~~~~ | CAM_DATA_IN15_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:158:27: error: &#39;I2S0I_V_SYNC_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 158 | gpio_matrix_in(VSYNC, I2S0I_V_SYNC_IDX, true); | ^~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:159:27: error: &#39;I2S0I_H_SYNC_IDX&#39; was not declared in this scope; did you mean &#39;I2S0I_WS_IN_IDX&#39;? 159 | gpio_matrix_in(0x38, I2S0I_H_SYNC_IDX, false); //0x30 sends 0, 0x38 sends 1 | ^~~~~~~~~~~~~~~~ | I2S0I_WS_IN_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:160:27: error: &#39;I2S0I_H_ENABLE_IDX&#39; was not declared in this scope; did you mean &#39;LCD_H_ENABLE_IDX&#39;? 160 | gpio_matrix_in(HREF, I2S0I_H_ENABLE_IDX, false); | ^~~~~~~~~~~~~~~~~~ | LCD_H_ENABLE_IDX D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:170:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 170 | I2S0.conf.rx_slave_mod = 1; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:172:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf2&#39; 172 | I2S0.conf2.lcd_en = 1; | ^~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:174:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf2&#39; 174 | I2S0.conf2.camera_en = 1; | ^~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:176:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;clkm_conf&#39;; did you mean &#39;rx_clkm_conf&#39;? 176 | I2S0.clkm_conf.clkm_div_a = 1; | ^~~~~~~~~ | rx_clkm_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:177:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;clkm_conf&#39;; did you mean &#39;rx_clkm_conf&#39;? 177 | I2S0.clkm_conf.clkm_div_b = 0; | ^~~~~~~~~ | rx_clkm_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:178:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;clkm_conf&#39;; did you mean &#39;rx_clkm_conf&#39;? 178 | I2S0.clkm_conf.clkm_div_num = 2; | ^~~~~~~~~ | rx_clkm_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:180:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;fifo_conf&#39; 180 | I2S0.fifo_conf.dscr_en = 1; | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:183:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;fifo_conf&#39; 183 | I2S0.fifo_conf.rx_fifo_mod = SM_0A0B_0C0D; //pack two bytes in one dword see :https://github.com/igrr/esp32-cam-demo/issues/29 | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:184:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;fifo_conf&#39; 184 | I2S0.fifo_conf.rx_fifo_mod_force_en = 1; | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:185:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf_chan&#39; 185 | I2S0.conf_chan.rx_chan_mod = 1; | ^~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:187:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;sample_rate_conf&#39; 187 | I2S0.sample_rate_conf.rx_bits_mod = 0; | ^~~~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:188:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 188 | I2S0.conf.rx_right_first = 0; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:189:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 189 | I2S0.conf.rx_msb_right = 0; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:190:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 190 | I2S0.conf.rx_msb_shift = 0; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:191:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 191 | I2S0.conf.rx_mono = 0; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:192:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 192 | I2S0.conf.rx_short_sync = 0; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:193:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;timing&#39;; did you mean &#39;rx_timing&#39;? 193 | I2S0.timing.val = 0; | ^~~~~~ | rx_timing D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:196:115: error: ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say &#39;&amp;I2SCamera::i2sInterrupt&#39; [-fpermissive] 196 | esp_intr_alloc(ETS_I2S0_INTR_SOURCE, ESP_INTR_FLAG_INTRDISABLED | ESP_INTR_FLAG_LEVEL1 | ESP_INTR_FLAG_IRAM, &amp;i2sInterrupt, NULL, &amp;i2sInterruptHandle); | ^~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.cpp:196:114: error: cannot convert &#39;int (I2SCamera::*)(void*)&#39; to &#39;intr_handler_t&#39; {aka &#39;void (*)(void*)&#39;} 196 | esp_intr_alloc(ETS_I2S0_INTR_SOURCE, ESP_INTR_FLAG_INTRDISABLED | ESP_INTR_FLAG_LEVEL1 | ESP_INTR_FLAG_IRAM, &amp;i2sInterrupt, NULL, &amp;i2sInterruptHandle); | ^~~~~~~~~~~~~ | | | int (I2SCamera::*)(void*) In file included from C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/esp_driver_gpio/include/driver/gpio.h:13: C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-858a988d-v1\esp32s3/include/esp_hw_support/include/esp_intr_alloc.h:148:64: note: initializing argument 3 of &#39;esp_err_t esp_intr_alloc(int, int, intr_handler_t, void*, intr_handle_data_t**)&#39; 148 | esp_err_t esp_intr_alloc(int source, int flags, intr_handler_t handler, void *arg, intr_handle_t *ret_handle); | ~~~~~~~~~~~~~~~^~~~~~~ In file included from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\OV7670.h:2, from D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\OV7670_ESP32S.ino:1: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h: In static member function &#39;static void I2SCamera::i2sConfReset()&#39;: D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:42: error: &#39;I2S_IN_RST_M&#39; was not declared in this scope; did you mean &#39;I2S_RX_RESET_M&#39;? 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~ | I2S_RX_RESET_M D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:57: error: &#39;I2S_AHBM_RST_M&#39; was not declared in this scope 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~~~ D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:51:74: error: &#39;I2S_AHBM_FIFO_RST_M&#39; was not declared in this scope; did you mean &#39;I2S_TX_FIFO_RESET_M&#39;? 51 | const uint32_t lc_conf_reset_flags = I2S_IN_RST_M | I2S_AHBM_RST_M | I2S_AHBM_FIFO_RST_M; | ^~~~~~~~~~~~~~~~~~~ | I2S_TX_FIFO_RESET_M D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:52:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;lc_conf&#39;; did you mean &#39;rx_conf&#39;? 52 | I2S0.lc_conf.val |= lc_conf_reset_flags; | ^~~~~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:53:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;lc_conf&#39;; did you mean &#39;rx_conf&#39;? 53 | I2S0.lc_conf.val &amp;= ~lc_conf_reset_flags; | ^~~~~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:56:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 56 | I2S0.conf.val |= conf_reset_flags; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:57:10: error: &#39;i2s_dev_t&#39; {aka &#39;volatile struct i2s_dev_s&#39;} has no member named &#39;conf&#39;; did you mean &#39;rx_conf&#39;? 57 | I2S0.conf.val &amp;= ~conf_reset_flags; | ^~~~ | rx_conf D:\LIULANQI\OV7670_ESP32S-main\OV7670_ESP32S-main\OV7670_ESP32S\I2SCamera.h:58:23: error: &#39;volatile union i2s_dev_s::&lt;unnamed&gt;&#39; has no member named &#39;rx_fifo_reset_back&#39; 58 | while (I2S0.state.rx_fifo_reset_back); | ^~~~~~~~~~~~~~~~~~ Using library WiFi at version 3.2.1 in folder: C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.1\libraries\WiFi Using library Networking at version 3.2.1 in folder: C:\Users\h9978\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.1\libraries\Network exit status 1 Compilation error: &#39;PERIPH_LEDC_MODULE&#39; was not declared in this scope分析错误
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值