没有匹配的构造函数用于用 clang++ 3.2 初始化“vector”[重复]

2023-12-06

我正在使用 C++ Primer 第 5 版学习 C++。

我正在尝试使用 clang++ 编译一个具有 C++11 功能的简单 c++ 程序,但我收到了编译错误,该错误应该是有效的代码。

这是一个例子:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){
  int n = 0;
  auto *p = &n; //<-- this compiles  

  cout << *p << endl;

  vector<string> articles = {"a", "an", "the"}; //<-- this fails; copied from the book

  return 0;
}

这是完整的错误:

$ clang++ -std=c++11 -v test.cpp -o test
clang version 3.2 (tags/RELEASE_32/final)
Target: x86_64-apple-darwin10.8.0
Thread model: posix
 "/usr/local/Cellar/llvm/3.2/bin/clang" -cc1 -triple x86_64-apple-macosx10.6.0 -emit-obj -mrelax-all -disable-free -main-file-name test.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 127.2 -v -resource-dir /usr/local/Cellar/llvm/3.2/bin/../lib/clang/3.2 -fmodule-cache-path /var/folders/pk/pkIeYbRaF-yeeUH3Q6Q5AE+++TI/-Tmp-/clang-module-cache -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /Users/Oton/Desktop -ferror-limit 19 -fmessage-length 150 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.6.0 -fobjc-dispatch-method=mixed -fobjc-default-synthesize-properties -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/pk/pkIeYbRaF-yeeUH3Q6Q5AE+++TI/-Tmp-/test-w65CaF.o -x c++ test.cpp
clang -cc1 version 3.2 based upon LLVM 3.2svn default target x86_64-apple-darwin10.8.0
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/4.2.1
 /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64
 /usr/include/c++/4.2.1/backward
 /usr/include/c++/4.0.0
 /usr/include/c++/4.0.0/i686-apple-darwin8
 /usr/include/c++/4.0.0/backward
 /usr/local/include
 /usr/local/Cellar/llvm/3.2/bin/../lib/clang/3.2/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
test.cpp:13:18: error: no matching constructor for initialization of 'vector<string>'
  vector<string> articles = {"a", "an", "the"};
                 ^          ~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.2.1/bits/stl_vector.h:255:9: note: candidate constructor [with _InputIterator = const char *] not viable: no known conversion from
      'const char [4]' to 'const allocator_type' (aka 'const std::allocator<std::basic_string<char> >') for 3rd argument
        vector(_InputIterator __first, _InputIterator __last,
        ^
/usr/include/c++/4.2.1/bits/stl_vector.h:213:7: note: candidate constructor not viable: no known conversion from 'const char [2]' to 'size_type'
      (aka 'unsigned long') for 1st argument
      vector(size_type __n, const value_type& __value = value_type(),
      ^
/usr/include/c++/4.2.1/bits/stl_vector.h:201:7: note: candidate constructor not viable: allows at most single argument '__a', but 3 arguments were
      provided
      vector(const allocator_type& __a = allocator_type())
      ^
/usr/include/c++/4.2.1/bits/stl_vector.h:231:7: note: candidate constructor not viable: requires single argument '__x', but 3 arguments were provided
      vector(const vector& __x)
      ^
1 error generated.

我在 Mac 上,10.6.8,我使用自制程序构建了 llvm/clang,并带有以下选项:

brew install llvm -v --all-targets --rtti --shared --with-asan --with-clang --use-clang

我究竟做错了什么?


该错误告诉您没有 std::vector 构造函数采用初始值设定项列表。问题是您正在使用的标准库实现尚未针对 C++11 进行更新。您正在使用 libstdc++ 的 gcc 4.2 版本,它是在 C++11 之前几年编写的。

您必须切换到已针对 C++11 更新的库。如果你安装了 libc++ 那么你可以只使用该标志-stdlib=libc++。我认为 libc++ 二进制文件是 OS X 10.6.8 的一部分,但您还需要标头。也许自制程序有一个食谱,或者您可以从以下位置下载它们:http://libcxx.llvm.org/并将它们粘贴在适当的位置以便被发现和使用-stdlib=libc++.

或者,您可以手动省略正常的 C++ 标准库标头(在本例中为 gcc 4.2 标头):-nostdinc++,在粘贴标题的位置手动添加包含目录,在二进制文件所在的位置添加库搜索目录(您甚至可以自己构建二进制文件)并添加链接标志-lc++.

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

没有匹配的构造函数用于用 clang++ 3.2 初始化“vector”[重复] 的相关文章

  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • Grpc - 将消息从一个客户端发送到连接到同一服务器的另一个客户端

    是否可以将消息从一个客户端发送到连接到同一服务器的另一个客户端 我想将数据从一个客户端发送到服务器然后发送到特定客户端 我想我需要获取客户端 ID 但我不知道如何获取此 ID 以及如何从服务器将此消息发送到该客户端 我这里有一个样本 这是一
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 如何在类文件中使用 Url.Action() ?

    如何在 MVC 项目的类文件中使用 Url Action Like namespace 3harf public class myFunction public static void CheckUserAdminPanelPermissi
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • 强制初始化模板类的静态数据成员

    关于模板类的静态数据成员未初始化存在一些问题 不幸的是 这些都没有能够帮助我解决我的具体问题的答案 我有一个模板类 它有一个静态数据成员 必须为特定类型显式实例化 即必须专门化 如果不是这种情况 使用不同的模板函数应该会导致链接器错误 这是
  • cpp.react库的C++源代码中奇怪的“->* []”表达式

    这是我在文档中找到的 C 片段cpp react 库 https github com schlangster cpp react implicit parallelism auto in D MakeVar 0 auto op1 in g
  • Eigen 和 OpenMP:由于错误共享和线程开销而没有并行化

    系统规格 Intel Xeon E7 v3 处理器 4 插槽 16 核 插槽 2 线程 核心 Eigen 系列和 C 的使用 以下是代码片段的串行实现 Eigen VectorXd get Row const int j const int
  • 在 VS 中运行时如何查看 C# 控制台程序的输出?

    我刚刚编写了一个名为 helloworld 的聪明程序 它是一个 C NET 4 5 控制台应用程序 在扭曲的嵌套逻辑迷宫深处 使用了 Console WriteLine 当我在命令行运行它时 它会运行并且我会看到输出 我可以执行其他命令并
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 如何使用命令行将新的 MySQL 数据库结构从开发网站迁移到生产网站?

    我有两个网站环境 独立的服务器 Media Temple DV 开发和生产 我们开始在生产上构建站点 然后获得了开发服务器 因此我最初使用如下命令将生产数据库移动到开发 mysqldump a u USERNAME p DATABASE g
  • 涉及多个变量的程序的时间复杂度

    最近 我被要求创建一个程序来查找文本片段中的最佳匹配 我已经成功编写了这个程序 但我确实对其时间复杂度有疑问 问题定义如下 给定一个查询 查找文档中出现的查询词并突出显示最佳标记 我的程序花费的时间 O m n p here m 文档长度
  • Facebook Connect + jQuery Mobile + Phonegap 构建

    我试图了解如何使用脸书连接 登录 与jQuery 移动 and 音隙构建 但随着我搜索这些信息的次数越多 我就越感到困惑 我已经在 Facebook 上创建了我的应用程序 并且我有 API 编号 我不知道最好的方法是否是调用 PHP 页面
  • Ninject 和 XML 配置绑定

    我一直在互联网上搜索任何示例或入门文章 了解如何使用 XML 扩展与 Ninject 进行绑定 但我找不到任何帮助 任何人都可以向我提供一个很小的样本来说明我该如何做到这一点吗 提前致谢 我也找不到任何示例 但老实说源代码非常小 我只是下载
  • 更新 ListView 的 ObservableCollection 中一项的显示

    我有一个绑定到 ObservableCollection 的 ListView 有没有一种方法可以在 SomeModel 项的属性发生更改时更新单个单元格 而无需通过更改 ObservableCollection 来重新加载 ListVie
  • 使用 JNI 和 NDK 旋转位图

    背景 我决定 由于位图占用大量内存 很容易导致内存不足错误 因此我将把艰苦的 消耗内存的工作放在 C C 代码上 我用于旋转位图的步骤是 读取位图信息 宽度 高度 将位图像素存储到数组中 回收位图 创建一个相反大小的新位图 将像素放入新的位
  • DLL 类及其访问

    DLL 动态链接库 是否包含多个类 如果它包含如何在c 中的 net中分别获取类及其方法 在 NET 中 更常见的做法是将 DLL 视为程序集 单个程序集可以包含任意数量的类型 多个类 枚举 结构等 您可以通过在要使用这些类型的项目中添加对
  • c 从另一个文件复制文件权限

    复制文件的unix文件权限并将其设置到另一个文件的最简单方法是什么 有没有办法将文件的权限存储到变量 然后使用该变量将这些权限设置到另一个文件 当然 使用stat and chmod 可能需要root include
  • 如何处理AccessViolationException

    我在 net 应用程序中使用 COM 对象 MODI 我调用的方法抛出一个System AccessViolationException 它被 Visual Studio 拦截 奇怪的是 我将调用包装在 try catch 中 其中包含以下
  • JavaScript onclick

    我有这样的代码 a test a 稍后将代码添加到相同的锚标记中 例如 lnk document getElementById lnk1 lnk onclick function do something 现在发生的事情是 在第二段代码中
  • C#中的批处理文件执行

    我正在从 C 运行 Java 批处理文件 如果我通过双击运行它 它会成功执行 但如果我从 C 代码运行它 它会在线程中给出异常 主 线程中的异常 java lang noclassdeffoundError 原因是什么以及如何解决 我正在使
  • Restler总是返回未找到

    我被困在这里 在 wamp 中我运行一切并且工作正常 但是 当我尝试在 centos 盒子中安装我的 api 时 我总是收到 未找到 错误 我不知道还能做什么 即使 say hello 的例子也失败了 是否有处理 Restler 的 apa
  • 适用于 Android 的 Google API 缺少 Games.getGamesAuthToken

    在线的参考 for 适用于 Android 的 Google API 显示了公共方法摘要Games类包括 static PendingResult
  • 如何更新主键

    这是我的问题 我有 2 个表 工人 带柱 ID OTHER STAF 其中 ID 是主键 事务所 有专栏 FPK ID SOMETHING ELSE 其中 FPK 和 ID 的组合构成主键 并且 ID 是引用 WORKER ID 的外键 不
  • 从ggplot2中的图例中删除灰色

    我想从图例框中删除灰色 这是因为 geom smooth 中的 SE 不过 我想将 SE 保留在实际情节中 所以在图例框中 我只想要线条的颜色 而不是阴影 这是一个例子 library ggplot2 x lt rnorm 100 y lt
  • 需要正则表达式从字符串中删除所有字母

    我需要一个正则表达式来移动字符串 A Z 和 a z 中的所有字母 包括任何特殊字符在内的所有内容都应保持不变 我尝试了 d 但它只返回字符串中的数字 String asd dfdf4545D jasjkd jdjd56 desired o
  • 如何解决 Angular-cli 安装中的代码 ERR_INVALID_URL

    在我的 windows 10 中 我安装了 Nodejs v16 13 0 npm v8 1 0 当我尝试运行 npm install g angular cli 时 我收到这个错误 npm 错误 代码 ERR INVALID URL np
  • 使用 NumberFormatter 替换默认区域设置货币代码格式化货币

    在我的模型中 我将价格存储为NSDecimalNumber价值观 struct Item var price NSDecimalNumber eg 3 543 var currencyCode String eg USD 我想使用用户的正确
  • SimpleCursorAdapter 内的按钮

    我有一个用 SimpleCursorAdapter 填充的 ListView 对于列表中的每个项目 我按以下顺序排列 TextView gt RatingBar gt TextView gt ImageView 我想在 ImageView
  • 没有匹配的构造函数用于用 clang++ 3.2 初始化“vector”[重复]

    这个问题在这里已经有答案了 我正在使用 C Primer 第 5 版学习 C 我正在尝试使用 clang 编译一个具有 C 11 功能的简单 c 程序 但我收到了编译错误 该错误应该是有效的代码 这是一个例子 include