尝试在C ++中使用结构时出错

梅林·丹·胡廷

我试图不了解如何在C ++中将结构用作列表。我想出了一段代码,对我的不了解应该不会导致任何错误,但是确实可以。

我的代码是这样的:

struct item {
int data;
struct item *next;
};

struct item *begin = NULL;

void add(int x) {
    struct item *a = new struct item();
    a->data = x;
    a->next = begin;
    begin = a;
}

int main() {

    add(2);
    printf("%d\n", begin->data);

    return 0;
}

它给了我这个:

Undefined symbols for architecture x86_64:
"operator new(unsigned long)", referenced from:
  add(int) in structtest-f49486.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我在Mac终端中使用GCC运行我的代码。我之前从未见过此类错误。我发现删除行时不存在错误

struct item *a = new struct item();

谁能告诉我这是怎么回事?

谢谢,

快活的

迈克·德西蒙

g++不要使用gcc似乎正在尝试将您的C ++代码链接为C代码。

这样的GCC很奇怪。当您使用g++链接,它静静地增加了C ++支持库,比如一个定义默认operator new

是的,它“忘记了”它只是将代码编译为C ++。不要问我为什么。


关于clanggcc,这是我在Mac上看到的内容:

$ gcc --version
gcc (MacPorts gcc48 4.8.4_0) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ type -a gcc
gcc is /opt/local/bin/gcc
gcc is /usr/bin/gcc
$ /usr/bin/gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix
$ ls -lF /usr/bin/gcc
-rwxr-xr-x  1 root  wheel  14160 Sep 29  2014 /usr/bin/gcc*
$ ls -lF /usr/bin/g++
-rwxr-xr-x  1 root  wheel  14160 Sep 29  2014 /usr/bin/g++*
$ file /usr/bin/gcc
/usr/bin/gcc: Mach-O 64-bit executable x86_64
$ file /usr/bin/g++
/usr/bin/g++: Mach-O 64-bit executable x86_64
$ diff /usr/bin/g++ /usr/bin/gcc
Binary files /usr/bin/g++ and /usr/bin/gcc differ

请注意,我已经安装了MacPorts,并通过它安装了真实的GCC 4.8,并且已将其配置为“替换” Apple的“ gcc”。顺便说一句,苹果gcc不是符号链接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在Linq中使用包含时出错

来自分类Dev

尝试在C ++中使用Boost Regex Match从字符串转换为Int时出错

来自分类Dev

在结构C中使用静态数组时出错

来自分类Dev

尝试从向量中删除结构时出错

来自分类Dev

尝试在C中初始化结构时出错

来自分类Dev

首次尝试在Rcpp中使用R函数时出错

来自分类Dev

尝试在C ++中使用<filesystem>显示文件时出错

来自分类Dev

尝试在scikit-learn中使用PolynomialFeatures时出错

来自分类Dev

尝试在齿轮中使用client.latency时出错

来自分类Dev

尝试在Google Colab中使用Tensorboard时出错

来自分类Dev

尝试在Python Jupyter中使用.difference()函数时出错

来自分类Dev

尝试在Java中使用Apache HttpClient进行GET时出错

来自分类Dev

尝试在Three.js中使用Mipmaping时出错

来自分类Dev

尝试在C ++中使用Boost Regex Match从字符串转换为Int时出错

来自分类Dev

尝试在C ++中使用结构时出错

来自分类Dev

尝试在find()中使用$ near查询时出错

来自分类Dev

尝试在Shiny中使用renderDataTable显示数据框时出错

来自分类Dev

在函数c ++中使用指针时出错

来自分类Dev

尝试在Android应用程序中使用Toast时出错

来自分类Dev

尝试在C ++中使用Eratosthenes筛子查找2至n的所有质数时出错

来自分类Dev

尝试在C中初始化结构时出错

来自分类Dev

尝试在Virtual Box中使用Vagrant时出错

来自分类Dev

尝试在 ${ForEachIn} 中使用 File 时出错?

来自分类Dev

R 尝试在 %>% 中使用 as.Date 时出错

来自分类Dev

尝试在 WebApi (Net Framework) 中使用 IoC 容器时出错

来自分类Dev

在 C++ 中使用 pow() 时出错

来自分类Dev

尝试使用指针访问结构时出错

来自分类Dev

尝试在 CI 中使用多选搜索数据时出错

来自分类Dev

使用结构方法返回时出错 - C++

Related 相关文章

  1. 1

    尝试在Linq中使用包含时出错

  2. 2

    尝试在C ++中使用Boost Regex Match从字符串转换为Int时出错

  3. 3

    在结构C中使用静态数组时出错

  4. 4

    尝试从向量中删除结构时出错

  5. 5

    尝试在C中初始化结构时出错

  6. 6

    首次尝试在Rcpp中使用R函数时出错

  7. 7

    尝试在C ++中使用<filesystem>显示文件时出错

  8. 8

    尝试在scikit-learn中使用PolynomialFeatures时出错

  9. 9

    尝试在齿轮中使用client.latency时出错

  10. 10

    尝试在Google Colab中使用Tensorboard时出错

  11. 11

    尝试在Python Jupyter中使用.difference()函数时出错

  12. 12

    尝试在Java中使用Apache HttpClient进行GET时出错

  13. 13

    尝试在Three.js中使用Mipmaping时出错

  14. 14

    尝试在C ++中使用Boost Regex Match从字符串转换为Int时出错

  15. 15

    尝试在C ++中使用结构时出错

  16. 16

    尝试在find()中使用$ near查询时出错

  17. 17

    尝试在Shiny中使用renderDataTable显示数据框时出错

  18. 18

    在函数c ++中使用指针时出错

  19. 19

    尝试在Android应用程序中使用Toast时出错

  20. 20

    尝试在C ++中使用Eratosthenes筛子查找2至n的所有质数时出错

  21. 21

    尝试在C中初始化结构时出错

  22. 22

    尝试在Virtual Box中使用Vagrant时出错

  23. 23

    尝试在 ${ForEachIn} 中使用 File 时出错?

  24. 24

    R 尝试在 %>% 中使用 as.Date 时出错

  25. 25

    尝试在 WebApi (Net Framework) 中使用 IoC 容器时出错

  26. 26

    在 C++ 中使用 pow() 时出错

  27. 27

    尝试使用指针访问结构时出错

  28. 28

    尝试在 CI 中使用多选搜索数据时出错

  29. 29

    使用结构方法返回时出错 - C++

热门标签

归档