1. no default constructor exists for class "Apple"

#include <iostream>
using namespace std;
//默认情况下,类的所有成员都是私有的.只有类和友元函数可以访问私有成员
//protected(受保护)成员在派生类(即子类)中是可访问的
class Box
{public:double length; double Width;double GetStr(void)//无参数可以加void,{return (length + Width)*2;}double GetArea();//无参数也可以不加void,
};
//类继承
class BoxOne :protected Box
{double x;//不指定访问符,默认是Private.
};double Box::GetArea()
{return length * Width;
}class Apple
{public:Apple(double len);//构造函数声明;无返回值;但可以带参数。~Apple();//析构函数声明;无返回值;且无参数;用于释放资源double length;
};Apple::Apple(double len)
{//构造函数是类进入时进行cout << "这是构造函数!" << endl;length = len;
}Apple::~Apple()
{//析构函数是类退出时进行cout << "这是析构函数!" << endl;
}int main()
{Box box1;double area,str;box1.length = 2;box1.Width = 4;area = box1.GetArea();str = box1.GetStr();cout << "Area:"<< area<<endl;cout << "str:" << str << endl;Apple apple;apple.length = 10;cout << "Apple.Length:"<<apple.length << endl;cout << "Test 析构顺序!" << endl;return 0;
}

报错如下:
纠正措施如下:在C++中要给构造函数的参数赋默认值。

Apple::Apple(double len)

修改为下面形式:

Apple::Apple(double len=0)

2. Error LNK2019 unresolved external symbol __imp__pthread_exit referenced in function _main
Error LNK2019 unresolved external symbol __imp__pthread_create referenced in function _main

使用如下代码发生如上报错:

#include <iostream>
// 必须的头文件
#include <pthread.h>
using namespace std;
#define NUM_THREADS 5// 线程的运行函数
void* say_hello(void* args)
{cout << "Hello Runoob!" << endl;return 0;
}int main()
{// 定义线程的 id 变量,多个变量使用数组pthread_t tids[NUM_THREADS];for (int i = 0; i < NUM_THREADS; ++i){//参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数int ret = pthread_create(&tids[i], NULL, say_hello, NULL);if (ret != 0){cout << "pthread_create error: error_code=" << ret << endl;}}//等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来;pthread_exit(NULL);
}

报错的原因很简单,编译该cpp时没找到连接的库,需要手动加进来,如下:

  • 打开:https://www.sourceware.org/pthreads-win32/
  • 点击Mirror
  • 点击US http
  • 找到 pthreads-win32/
  • 下载pthreads-w32-2-9-1-release.zip
  • 解压该文件,将pthreads-w32-2-9-1-release\Pre-built.2\dll\x86文件夹下的pthreadVC2.dll拷到你存放.cpp的文件夹下;将C:\Users\LP\Desktop\pthreads-w32-2-9-1-release\Pre-built.2\lib\x86文件夹下的pthreadVC2.lib也拷贝到你存放.cpp的文件夹下。
  • 在代码中加入预编译命令#pragma comment(lib, "pthreadVC2.lib"),目的是让应用程序预编译时能找到pthread_create等线程函数连接的库
    完整代码如下:
#include <iostream>
// 必须的头文件
#include <pthread.h>
using namespace std;
#pragma comment(lib, "pthreadVC2.lib")
#define NUM_THREADS 5// 线程的运行函数
void* say_hello(void* args)
{cout << "Hello Runoob!" << endl;return 0;
}int main()
{// 定义线程的 id 变量,多个变量使用数组pthread_t tids[NUM_THREADS];for (int i = 0; i < NUM_THREADS; ++i){//参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数int ret = pthread_create(&tids[i], NULL, say_hello, NULL);if (ret != 0){cout << "pthread_create error: error_code=" << ret << endl;}}//等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来;pthread_exit(NULL);
}

再次运行即可成功。

C++ Problems相关推荐

  1. debian10 Unable to correct problems, you have held broken packages.

    今天在安装phpmyadmin时遇到Unable to correct problems, you have held broken packages. 解决方案 aptitude是功能极其强大的包管 ...

  2. Rendering Problems Exception raised during rendering:

    问题 : Rendering Problems Exception raised during rendering:×× 问题解决方法: 把Text 切换Design界面 降低api的版本即可 操作如 ...

  3. CentOS 7更新时出现Multilib version problems

    这两天在更新CentOS7系统时,出现了Multilib version problems错误,执行命令: # yum update 出现了的错误信息: .... ---> Package li ...

  4. 2018/8/26 PSO-based Clustering Techniques to Solve Multimodal Optimization Problems: A Survey

    信息:  2018年    米尔普尔科技大学 题目: PSO-based Clustering Techniques to Solve Multimodal Optimization Problems ...

  5. 数学知识--Methods for Non-Linear Least Squares Problems(第三章)

    Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...

  6. 数学知识--Methods for Non-Linear Least Squares Problems(第二章)

    Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...

  7. 数学知识--Methods for Non-Linear Least Squares Problems(第一章)

    Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...

  8. MySQL Concurrency Problems

    2019独角兽企业重金招聘Python工程师标准>>> MySQL Concurrency Problems 了解MySQL中出现的各种并发问题,在这里做一个总结: 摘自sql se ...

  9. 解决Eclipse Problems视图丢失图标问题

    解决Eclipse Problems视图丢失图标问题 参考文章: (1)解决Eclipse Problems视图丢失图标问题 (2)https://www.cnblogs.com/vwpolo/arc ...

  10. E: Unable to correct problems, you have held broken packages

    原文: http://www.cnblogs.com/Aaron-agu/p/8862624.html E: Unable to correct problems, you have held bro ...

最新文章

  1. Base62x比Base64的编码速度更快吗?
  2. jpa tutorials
  3. 图的深度优先遍历+图解
  4. android手机 环境变量 文件,【图片】【教程】配置安卓Java环境变量【手机端反编译吧】_百度贴吧...
  5. 网络工程师考试2005年上半年下午试题解析(二)
  6. 【Linux】Linux内核的整体架构简介
  7. WPF 禁止在文本框中输入数字
  8. java 二分查找_Java数组之Arrays方法
  9. iOS_20_微博的骨架结构
  10. 浏览器的两种模式quirks mode 和strict mode
  11. HashSet HashTable HashMap的区别
  12. vasp能装在window系统里吗_vasp 5.4.4 在win10/Ubuntu 18.04上的安装
  13. 数据结构常见的八大排序算法(详细整理)
  14. 计算机公式与函数乘法,excel里减法函数是哪个?-excel函数公式乘法
  15. 天津职称英语及计算机,关于天津职称英语
  16. 计算机二级ms office2021教材,全国计算机等级考试二级MS Office高级应用教材(2021年版)...
  17. DMA RDMA 技术详解
  18. Object对象Configurable,Enumerable,Writable含义解读
  19. 二项式定理与二项分布、多项式定理与多项分布
  20. 怎样通俗易懂地解释内卷是什么意思?

热门文章

  1. 阿里内部干货分享 曾鸣:淘宝是怎样从 0 做到 0.1 的?
  2. 计算机系统最大的加速能力,w7系统优化加速到最大性能
  3. 一文汇总Java 修饰符
  4. 了解自动驾驶 从ADAS开始
  5. ECMAScript 6 入门:字符串的新增方法
  6. 普林斯顿教授:中国学生的功利心妨碍了他们的长远发展
  7. setwd的cannot change working directory处理
  8. 为什么这么多的顶尖黑客来自俄罗斯?
  9. Nordic系列芯片讲解五( Nordic sdk中nrf_drv_twi的使用)
  10. python多线程数据交互_python 多线程 通信