将带有默认值的数组作为参数传递给 int main()

2023-11-25

我很难将数组作为参数传递给int main()与默认值。 例如:

int main(int a){}

效果很好。一样

int main(int a = 1){}

Passing int main()数组也能很好地工作:

int main(int a[3])

然而,将这两个概念结合起来似乎打破了:

int main(int a[1] = {0,1})

经过大量的谷歌搜索,我还没有找到解决办法。

请帮助我,你是我唯一的希望!

EDIT

简而言之,这样做的目的是使我的代码行数尽可能少,以应对我的教授最近提出的挑战(不是为了分数 - 只是为了学习)。作业是创建一个递归“圣诞节 12 天”程序

这是我当前的程序

#include <iostream> 
#include <string>
void p(std::string v){std::cout<<v;}
std::string v[13] = {"A Partridge in a Pear Tree.\n\n","2 Turtle Doves\n","3 French Hens\n","4 Colly Birds\n","5 Gold Rings\n","6 Geese-a-Laying\n","7 Swans-a-Swimming\n","8 Maids-a-Milking\n","9 Ladies Dancing\n","10 Lords-a-Leaping\n","11 Pipers Piping\n","12 Drummers Drumming\n",""};
int main(){
    switch(v[12].length()){
        case 12:system("pause"); return 0;
        case 11:p(v[11]);
        case 10:p(v[10]);
        case 9: p(v[9]);
        case 8: p(v[8]);
        case 7: p(v[7]);
        case 6: p(v[6]);
        case 5: p(v[5]);
        case 4: p(v[4]);
        case 3: p(v[3]);
        case 2: p(v[2]);
        case 1: p(v[1]);
        case 0: p(v[0]); 
    }v[12] += "0";
    main();
}

我想将诗句数组作为参数传递给 main,而不是在函数上方声明它。我知道,不是最注重内存/堆栈的。但它会消除一行:)


This link最好的解释是:

在 C++ 中,不可能传递 按值作为完整的内存块 函数的参数,但我们是 允许传递其地址。

这就是为什么你可以声明一个函数

void foo (int bar[]);

但你不能声明

void foo (int bar[] = {0 ,1});

与以下无关main().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将带有默认值的数组作为参数传递给 int main() 的相关文章

  • C++ std::accumulate 没有给出预期的总和

    double numbers 1 0 5 0 333333 0 25 0 2 0 166667 0 142857 0 125 0 111111 0 1 std vector
  • EF Core 返回 null 关系,直到直接访问

    我有一些如下所示的模型 public class Mutant public long Id get set Relations public long OriginalCodeId get set public virtual Origi
  • 未找到 DEADLINE 调度策略

    我想在 C 中实现 DEADLINE 调度策略 我知道该功能已实现Linux 3 14 10我正在使用 Ubuntu 14 04Linux 3 17 0 031700 lowlatency 201410060605 SMP PREEMPT这
  • 来自 double 的 static_cast 可以优化分配给 double 吗?

    我偶然发现了一个我认为不必要的功能 并且通常让我感到害怕 float coerceToFloat double x volatile float y static cast
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • C# 结构默认值

    我有一个方法 它接受一个包含许多具有基本数据类型的字段的结构 我想传递大部分默认值 但需要进行一些调整 但我了解结构声明中的基本字段不能包含默认值声明 例如struct S int a 42 现在是这样的 OptionsStruct opt
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 从图像创建半透明光标

    是否可以从图像创建光标并使其半透明 我目前正在拍摄自定义图像并覆盖鼠标光标图像 如果我可以将其设为半透明 那就太好了 但不是必需的 销售人员喜欢闪亮的 目前正在做这样的事情 Image cursorImage customImage Get
  • 如何在 C 中链接目标文件?失败并显示“架构 x86_64 的未定义符号”

    因此 我尝试在我的文件 file2 c 中使用另一个 C file1 c 文件中定义的函数 为了做到这一点 我包含了 file1 file1 h 的标头 但是 每当我尝试使用 gcc 编译文件时 我都会收到以下错误 Undefined sy
  • 如何从 Powerpoint 2010 导出电影?

    如何使用 MS Office PIA 主互操作程序集 或其他方式以编程方式将嵌入视频从 powerpoint 2010 导出到外部文件 在演示文稿中嵌入视频是 Powerpoint 2010 中的一项新功能 我找不到解决方案 PPTX 文件
  • C# 可以为控制台应用程序部分类“程序”类吗?

    我想知道是否可以将为任何控制台应用程序创建的默认 程序 类更改为部分类 我想这样做是因为我想要更好的组织 而不是将所有方法都放在按区域分类的 1 个文件中 对我来说 将某些方法类别放在单独的文件中会更有意义 我对分部类的理解是 它是多个文件
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • c++ - <未解析的重载函数类型>

    在我的班级里叫Mat 我想要一个将另一个函数作为参数的函数 现在我有下面 4 个函数 但是在调用 print 时出现错误 第二行给了我一个错误 但我不明白为什么 因为第一行有效 唯一的区别是功能f不是班级成员Mat but f2是 失败的是
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • java有类似C#的属性吗? [复制]

    这个问题在这里已经有答案了 C 属性 我的意思是 get 和 set 方法 是一个非常有用的功能 java 也有类似 C 的属性吗 我的意思是我们如何在 java 中实现类似以下 C 代码的内容 public string Name get
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • Spring调度任务-只运行一次

    是否可以在指定的时间只安排一次 Spring 服务方法 例如 当前时间是下午 2 点 但当我点击操作按钮时 我希望我的服务方法在晚上 8 点开始 我熟悉 Scheduled 注释 但不知道如何编写 cron 表达式而不定期运行 这个 Sch
  • 向 TinyMCE 字体选项添加新字体

    我已经检查过这个线程 谷歌字体和 TinyMCE事实上 之前甚至已经成功地将新字体添加到用户的 TinyMCE 字体选项中 但我不确定这里出了什么问题以及为什么我不能再这样做了 我正在尝试添加新字体 Samman 这是我刚从 MyFonts
  • 使用源映射对缩小的 JS 进行反混淆 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 源映射可以帮助对之前使用 Closure Uglifyjs 缩小的代码进行反混淆吗 源映射的工作方式是否存在真正的障碍 或者只是因为没有人关心它而存在 我不太确定它是否可以以类似
  • Android 中的 iOS 移动配置相当于什么?

    在 iOS 中 我们使用移动配置来控制设备的各个方面 例如 VPN 开启 要求 Webclips Caldav carddav ldap 限制 VPN wifi Email 交换 主动同步 ETC 我们将在下载配置文件时将其托管在网站中 然
  • 从解决方案资源管理器搜索时 Visual Studio 2015 崩溃

    从解决方案资源管理器搜索时 Visual Studio 2015 崩溃 这是已知的错误吗 有什么解决方法吗 我使用的是 Microsoft Visual Studio Professional 2015 版本 14 0 23107 0 从事
  • 获取动态添加的视图的 ID

    如何获取布局中动态添加的View的ID public class Display static int i Dynamic UIActivity dyn private Context context View mField null Te
  • 测试静态 jsonp 响应

    我在发出 jsonp 请求时没有遇到任何问题 但是我不确定是否设置 Web 服务以在 jsonp 中传递响应 首先 服务器是否需要以某种方式配置以允许 jsonp 请求 或者页面只需要正确格式化响应 在我的测试中 我收到了来自 geonam
  • DI/IoC、NHibernate 并帮助它们协同工作

    我正在尝试了解 DI IoC NHibernate 并让它们在我正在开发的应用程序中很好地协同工作 我对 NHibernate 和 DI IoC 都很陌生 所以不太确定我正在做的事情是否是明智的做法 这是场景 该应用程序为用户提供了计算特定
  • 是否有一个 Django 模板过滤器可以处理“...more”,并且当您单击它时,它会显示更多文本?

    假设我有一个很大的段落 我只想显示前 15 个单词 之后 该人单击 更多 以查看其余内容 刚刚启动它 似乎可以做你想做的事情 并且不依赖任何外部 JS 库 免责声明 我还没有在 IE 中尝试过这个 但 chrome 和 firefox 工作
  • 如何从另一个线程更新 GUI 上的文本框[重复]

    这个问题在这里已经有答案了 我是 C 新手 我正在尝试制作一个简单的客户端服务器聊天应用程序 我的客户端窗口窗体上有 RichTextBox 我正在尝试从另一个类中的服务器更新该控件 当我尝试这样做时 我收到错误 跨线程操作无效 控制 te
  • git log --since=<日期> 选项 [重复]

    这个问题在这里已经有答案了 我目前正在通过 Pro Git 这本书学习Git 在书中 当讨论不同的选择时git log since
  • `#pragma Once` 是否已进入 C++0x 中?

    标题说明了一切 有 pragma once已标准化为 C 0x 我不知道有哪个编译器不提供它的实现 并且几乎总是具有相同的语义和名称 All pragma指令导致实现以实现定义的方式运行 这在 C 03 和最新的 C 0x 草案 n3225
  • 在 symfony 2 中验证小数

    我使用 Doctrine 将 symfony2 实体映射到表 属性之一是 var decimal price ORM Column name price type decimal nullable false private price W
  • Erlang:RPC 到节点并在该节点上输出

    有没有办法对节点进行 rpc 调用 但将输出显示在该节点上 而不仅仅是在调用节点上 事实上 如果调用节点不显示输出 我不会太担心 虽然我明白我可以使用 rpc call Node erlang display someTerm 这将在 No
  • 从 Pandas 专栏中删除 Twitter 提及

    我有一个数据集 其中包含来自 Twitter 的推文 其中一些也有用户提及 例如 thisisauser 我尝试在进行其他清理过程的同时删除该文本 def clean text row options if options lowercas
  • perl 反引号:使用 bash 而不是 sh

    我注意到 当我在 perl 中使用反引号时 命令是使用 sh 而不是 bash 执行的 这给我带来了一些问题 我怎样才能改变这种行为 以便 perl 将使用 bash 附言 我尝试运行的命令是 paste filename lt cut d
  • 如何在 java 7 中启用 TLSv1.2?

    我正在尝试使用命令 mvn Dhttps protocols TLSv1 TLSv1 1 TLSv1 2 install mvn Dhttps protocols TLSv1 2 install 在具有 java 1 7 的计算机中启用 T
  • 实体框架 - 实体只读属性映射到相关表的列

    我有一个有趣的问题需要解决 但是虽然很常见 但看起来使用实体框架不容易实现 有两个表 Player Id TeamId FirstName LastName Team Id Name IsProfessional 玩家只能属于一支球队 使用
  • R 闪亮中不存在此 Font Awesome 图标(“齿轮”)

    我今天遇到了一个奇怪的情况 我在 R Shiny 上开发一个应用程序几天了 它在我的笔记本电脑上运行 今天我更换了电脑 安装了新的 Windows 当我运行我的应用程序时 它给了我这个错误 This Font Awesome icon ge
  • 将带有默认值的数组作为参数传递给 int main()

    我很难将数组作为参数传递给int main 与默认值 例如 int main int a 效果很好 一样 int main int a 1 Passing int main 数组也能很好地工作 int main int a 3 然而 将这两