我在C++中收到错误" [Error] ld returned 1 exit status".帮我解决这个问题
I am getting an error " [Error] ld returned 1 exit status" in C++ . Help me with this
我正在用 DevC++ 用 C++ 制作一个程序,用于查找从1
到n
位数字的缺失数字,但现在我收到一个错误:
[错误] ld 返回 1 个退出状态。
您可以看到我的程序并帮助我解决这个问题。 此程序现在仅对100
位数字有效。
#include <iostream>
using namespace std;
class miss_number
{
public:
static int arr[100];
int miss;
int n;
public:
void displayBoard();
void getInput();
void findMissing();
void displayMissing();
};
void miss_number :: displayBoard()
{
cout<<"The program for Finding Missing Number Between 1-100 digit";
}
void miss_number :: getInput()
{
int i;
cout<<"nEnter how many digits :";
cin>>n;
cout<<"nEnter the number between 1-100 digit :";
for(i=0;i<n-1;i++)
{
cin>>arr[i];
}
}
void miss_number :: findMissing()
{
int i,total,totalOfArray=0;
total = n*(n+1)/2;
for(i=0;i<n-1;i++)
{
totalOfArray = totalOfArray + arr[i];
}
miss = total - totalOfArray;
}
void miss_number :: displayMissing()
{
cout<<"nMissing number :"<<miss;
}
int main()
{
miss_number o;
o.displayBoard();
o.getInput();
o.findMissing();
o.displayMissing();
return 0;
}
错误来自声明
static int arr[100];
由于已将其声明为静态,因此必须在类外部定义它:
int miss_number::arr[100];
这样,程序就可以编译和链接。如果使用 C++17,您也可以将其声明为inline static
,效果将是相同的。
如果您只是删除声明中的static
而不添加任何其他内容,它也会进行编译,并且在您的情况下应该是执行此操作的正确方法,因为arr
是实例化对象的成员。这样,您就可以创建类的多个实例,并且每个实例都有自己的arr
。
话虽如此,您不需要在getInput
中返回arr
然后将其重新传递给findMissing
,因为它从类的所有成员函数内部都是可见的。只需从所有实例的findMissing
中删除所有参数即可解决此问题。
相关文章:
- 我如何测试代码没有调用 exit()
- exit(0) 和 raise(SIGTERM) 有什么区别?
- "Program ended with exit code: 0"出现在我的输出的开头?
- exit(EXITT_FAILURE)在c和c++中是如何工作的
- 在C++中使用exit()退出程序有问题吗
- 什么时候在 c++ 中使用 exit() 与异常更好?
- "ndk-build finish with non-zero exit value 2" 在编译文本仙女项目时
- 当可以返回错误/异常时,从库中终止调用程序(例如,调用exit())是否总是错误的?
- 我在C++中收到错误" [Error] ld returned 1 exit status".帮我解决这个问题
- 为什么错误"permission denied","id returned 1 exit status"仅在 IM 使用 C++ 中的头文件 fstream 时才出现
- 析构函数中的互斥锁C++在 Python 中调用 exit() 时会导致异常
- 我应该使用 std::cerr 和 exit() 而不是抛出异常
- C++11 exit() 和 abs() 不包括 <cstdlib>?
- C++链接器错误 ( "Linker command failed with exit code 1" )
- wifi.status(),在AP_Mode运行时返回WL_Disconnected(6)
- 如何让我的程序在键入"exit"后打印用户键入的所有数据
- 在 c++ 和程序中使用循环遍历数组说"exit status -1"?
- Qt创建器中的"collect2: ld returned 1 exit status"
- "Id returned 1 exit status"错误 C++
- 编译时"collect2: error: ld returned 1 exit status"