c++ - VSC 抛出预期的 ')'
问题描述
Bulb::Bulb(int[4] pins){
pinr = pins[0];
}
此代码是我创建的名为bulb 的类的构造函数块,VSC 抛出错误
Expected a ')' with this piece of code on the int[4] pins
^
解决方案
让我们假设简单的类结构:
class Bulb {
int pinr;
public:
Bulb(int*); // first method
Bulb(int[]); // second method
};
第一种方法:正确声明参数,int[] pin
无效。
Bulb::Bulb(int pin[]) { // dynamically fixing array size + correct way
pinr = pin[0];
std::cout << pinr << std::endl;
}
第二种方法:作为指针传递,这里没问题。
Bulb::Bulb(int* pin) { // as a pointer
pinr = pin[0];
std::cout << pinr << std::endl;
}
和驱动程序代码:
int main(void) {
int tArr[] = {1, 2, 3, 4, 5};
Bulb b(tArr); // outputs 1 by both methods
return 0;
}
调试程序会给你:
调试第一种方法:
调试第二种方法:
推荐阅读
- firebase - 找到在 Firebase 和 Flutter 中实现“喜欢”逻辑的最佳方法
- css - 使用核心组件设置 VMware Clarity 项目
- azure-data-factory - 从 DataVerse 导出选择字段标签
- dependencies - Jackson/Swagger 兼容性
- python - 理解数组并遍历它们
- android - Gradle 升级后任务 ':app:mergeDebugResources' 执行失败
- kotlin - 如何解密以前使用imagemagick加密的jpg中的图片
- javascript - 如何将选项呈现为输入的下拉菜单?
- css - R Shiny CSS:在具有多个绝对面板的应用程序中启用 x 和 y 方向的滚动
- vue.js - 使用 vue.js 覆盖的应用程序测试自动化方法