undefined reference

往往是链接时出现错误,无法解析引用。这篇文章总结的很好undefined reference问题总结

error: ld returned 1 exit status

链接文件没有建立

案例

 #include<vector>
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
class Solution {
static int** nv;
static bool cmp(int x, int y){
int lenx = nv[x][];
int leny = nv[y][];
for(int xi = lenx-, yi = leny-; xi > , yi > ; xi--, yi--){
if(nv[x][xi] < nv[y][yi]) return true;
if(nv[x][xi] > nv[y][yi]) return false;
}
return false;
}
public:
vector<int> lexicalOrder(int n) {
nv = new int* [n+];
for(int i = ; i < n+; i++){
nv[i] = new int[];
}
for(int i = ; i <= n; i ++){
int y = i;
int yi = ;
while(y != ){
nv[i][yi++] = y % ;
y = y / ;
}
nv[i][] = yi;
}
vector<int> v;
for(int i = ; i <= n; i ++){
v.push_back(i);
}
sort(v.begin(), v.end(), cmp);
return v;
}
// vector<int> lexicalOrderList(int start, int last, int s, int n, vector<int>& v){ // } };
int main(){
Solution s;
vector<int> v = s.lexicalOrder();
for(int i = ; i < v.size(); i ++){
cout << v[i] << " ";
}
cout << endl;
return ;
}

编译:

错误在于没有对static成员变量在类外初始化,所以没有对static成员建立的链接文件。

ps:

  之所以要把cmp函数写成static,是因为cmp函数如果作为普通成员函数,自带一个this指针作为类指针的隐含参数,不能用于std::sort()函数。

参考文献:

  

成员函数隐含的this指针

vector排序问题<unresolved overloaded function type>

undefined reference问题总结

error: ld returned 1 exit status 和 error:undefined reference的更多相关文章

  1. error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

    Windows服务器Azure云编译安装MariaDB教程 www.111cn.net 编辑:future 来源:转载 安装MariaDB数据库最多用于linux系统中了,下文给各位介绍在Window ...

  2. Arduino上“Collect2.exe: error: ld returned 5 exit status”错误的解决方法

    1.运行环境 Windows xp; Arduino1.6.11 IDE. 2.问题 在Arduino编译时,经常出现如下的错误: collect2.exe: error: ld returned 5 ...

  3. moc_XXXX.o:(.data.rel.ro._ZTI12CalculatorUI[_ZTI12CalculatorUI]+0x10): undefined reference to `typeinfo for QWidget' collect2: error: ld returned 1 exit status make: *** [Makefile:144: myCalculator]

    main.cpp:(.text.startup+0x22): undefined reference to `QApplication::QApplication(int&, char**, ...

  4. Dev C++编写C/C++程序 出现[Error] ld returned 1 exit status报错分析及解决

    debug系列第一弹,不知道大家写程序的时候是不是都遇到过如题的报错. 我本人是经常遇到这行熟悉的令人不知所措的报错,可能是我太笨了 有时候百度无果也差不到原因,那就汇总一下目前我遇到的情况吧--持续 ...

  5. DevC++出现[Error] ld returned 1 exit status,如何解决才好呢?

    回答: 代码在vc中没问题,虽然没用过DevC++. 可以把 ld returned 1 exit status前面的详细出错说出来程序是没有问题的,可能的问题最有可能是以下2个1.是你的程序已经在运 ...

  6. 【DEV C++】 Error: ld returned 1 exit status

    一般出现“ld returned 1 exit status”错误都是由于函数名称拼写错误造成的,或者在一个工程中不同的函数使用了同一个函数名,暂时还未遇到其他情况.

  7. c编译错误[Error] ld returned 1 exit status 解决

    [Error] ld returned exit status 编译的过程中出现这个错误极有可能是因为函数名错误引起的,因此回到源码中观察函数名,尤其是那些库函数中的函数.

  8. gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误

    出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了 ...

  9. [Error] ld returned 1 exit status

    试试重启你的编译器,不稳定的编译器可能会有这种情况.当然不排除其他原因,若是重启了还不好使,就要看代码哪写错喽!!

随机推荐

  1. c语言函数注意点

    返回值的基本概念.return的作用    return 1>void可以省略return 2>可以多次使用return 3>return后面不能有其他语句   4. 函数的弱语法 ...

  2. Asp.net MVC4 下二级联动

    效果图:

  3. 山寨QQ音乐的布局(一)

    学了两天IOS趁着还没忘光,巩固一下所学知识想做点东西,由于自己的设计能力有限,所以就山寨一下吧,说到山寨怎么能忘了腾讯呢,今天发现QQ音乐的设计风格是扁平化的,小清新风格,所以就山寨一下它吧.. 由 ...

  4. javascript总结--2014-04-17

    HTML DOM Function Data http://www.oschina.net/translate/learning-javascript-design-patterns?cmp& ...

  5. ac命令根据/var/log/wtmp文件登录退出时间计算用户连接时间

    ac命令根据/var/log/wtmp文件登录退出时间计算用户连接时间

  6. Linux进程间通信——使用匿名管道

    在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值.这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据.   一 ...

  7. C++模板类中使用静态成员变量(例如Singleton模式)

    一个最简单Singleton的例子: ///////// Test.h /////////template <class _T>class CTest{private:_T n;stati ...

  8. android退出Activity

    对于单一Activity的应用来说,直接finish() 或者killProcess()和System.exit() 退出. 但是对于多Activity个可以使用单例模式创建一个Activity管理对 ...

  9. 《think in python》学习-8

    字符串 字符串是一个序列,可以用方括号操作符来访问字符串中的单独字符 fruit = 'banana' letter = fruit[1] 方括号中的表达式称为下标 下标从0 开始 任何表达式,包括变 ...

  10. IIS出现Server Application Unavailable的解决办法

    在XP中IIS5.1服务器,运行asp.net出现Server Application Unavailable,经过多次查证,才发现是因为先安装了.net Framework 2.0然后安装IIS,导 ...