小编Ron*_*Ron的帖子

终止在抛出异常实例后调用,核心转储

我正在讨论C++异常并遇到一个错误,我不确定它为什么会给我一些问题:

 #include <iostream>
 #include <exception>

 class err : public std::exception
 {
 public:
      const char* what() const noexcept { return "error"; }
 };

 void f() throw()
 {
      throw err();
 }

 int main()
 {
      try
      {
           f();
      }
      catch (const err& e)
      {
           std::cout << e.what() << std::endl;
      }
 }
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下运行时错误:

 terminate called after throwing an instance of 'err'
   what():  error
 Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

如果我try/catch完全移动逻辑f(),即

 void f() 
 {
      try
      {
           throw err();
      }
      catch (const err& e)
      { …
Run Code Online (Sandbox Code Playgroud)

c++ exception c++11

12
推荐指数
1
解决办法
2583
查看次数

带指数的浮点文字的类型

具有指数部分的浮点文字的类型是什么,例如123456e-3在 C(99+) 中?它是类型float还是double?当用作float初始化器时float f = 123456e-3; ,它需要有f后缀吗?

c floating-point

10
推荐指数
3
解决办法
235
查看次数

Code :: Blocks - 如何编译多个源文件

我正在尝试编译一个包含多个源文件的程序 - 两个CPP文件和一个头文件,代码为:: blocks.作为一个例子,我创建了以下三个文件(由另一个论坛上的其他人创建的示例程序):

main.cpp中:

#include <stdio.h>
#include "other.h"

int main (void)
{
    printf("%d\n", getfavoritenumber());

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

other.cpp

#include "other.h"

int getfavoritenumber(void)
{
    return 3;
}
Run Code Online (Sandbox Code Playgroud)

other.h

#ifndef _OTHER_H_
#define _OTHER_H_

int getfavoritenumber(void);

#endif
Run Code Online (Sandbox Code Playgroud)

尽管这三个文件应该相互链接,但是当我尝试构建项目时,我收到错误"跳过链接阶段(构建目标没有要链接的目标文件)".

我究竟做错了什么?尝试编译单个文件会显示错误"该文件未分配给任何目标".

c++ codeblocks

9
推荐指数
2
解决办法
4万
查看次数

谷歌的Open Sans字体重量

我通过以下方式在html页面中使用Google Open Sans字体:

<link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)

只有font-weight: 600;使字体变粗.其他值似乎没有什么区别.如何使用CSS规则获得此特定字体的中间字体权重?或者我必须使用其他字体吗?

html css google-font-api

7
推荐指数
1
解决办法
5439
查看次数

如果程序的一部分表现出未定义的行为,它会影响程序的其余部分吗?

假设程序员忘记初始化他的一个自动变量,并且他使用了它的值,从而调用了未定义的行为.

...
int i = 0, j;
...
printf("value of 'j': %d\n", j);
...
...
char buf[256];
fputs("Enter query:", stdout);
fgets(buf, sizeof(buf), stdin);
... //process input
... perform other tasks
Run Code Online (Sandbox Code Playgroud)

程序员注意到屏幕上出现了乱码,并意识到他的程序是错误的,但它并没有崩溃,反正还在继续.

假设在此之后,程序提示用户输入并期望处理它,显示结果并执行所有独立于未初始化变量的其他任务,鼓励程序员停止使用该程序,修复错误,重新编译和运行?该计划的其余部分是否会不一致?

c c++ undefined-behavior

6
推荐指数
1
解决办法
263
查看次数

在主函数中使用 wchar_t

在C++ Visual Studio 2017中使用main函数是否错误如下:

int main(int argc, wchar_t* argv[])
Run Code Online (Sandbox Code Playgroud)

因为我的程序可以接收特殊字符。

c++ visual-studio-2017

6
推荐指数
1
解决办法
4452
查看次数

使用Qt实现此目的的最佳方法是什么?

我对Qt完全不熟悉,所以我很高兴有一个广泛的答案.

在这里我画了一些模型:

在此输入图像描述

我们有一种表包含:

  • 带有旋转框的整数值.
  • 具有三个(非特定)分组单选按钮的单元格
  • 编辑框
  • 与此特定编辑框交互的按钮.

我们还有2个按钮来添加和删除表中的项目.

我做了一些谷歌搜索,发现它可以通过QTableView完成.有没有办法将这种复杂的结构放入细胞中?它必须是从QTableView继承的单独类吗?

layout user-interface qt

5
推荐指数
1
解决办法
159
查看次数

如何从Windows 10上的可调整大小的表单中删除顶部栏?

我正在尝试删除表单的标题栏,同时保持边框具有可调整大小的形式.我设置BorderStylebsNone并重写CreateParams程序:

procedure TMainForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style := Params.Style or  WS_BORDER or WS_THICKFRAME;
end;
Run Code Online (Sandbox Code Playgroud)

我面临的唯一问题是表格上边缘的白条(在胜利10中):

截图

我怎么能摆脱这个白色的酒吧?

forms delphi borderless

5
推荐指数
1
解决办法
1067
查看次数

使用CLion编辑ui文件

我正在用C ++开发QT应用程序。由于我喜欢CLion,因此我想使用此IDE编写代码。我的问题:我无法打开.ui-文件。CLion只是忽略了我对文件的双击。我不想像QT Creator中那样使用图形编辑器,将XML作为文本进行编辑就可以了。

我如何告诉CLion应该打开*.ui-文件为xml?

qt clion

5
推荐指数
1
解决办法
963
查看次数

`const` 对象的构造函数

考虑这段代码:

\n\n
#include <iostream>\n\nclass test\n{\npublic:\n    test( char *arg )\n    :   _arg( arg )\n    {}  \n    char *_arg;\n};\n\nint main( )\n{\n    char *txt1       = "Text one";  // Ignore this warning.\n    const char *txt2 = "Text two";\n\n    test       t1( txt1 );  // Normal case, nothing new.\n    const test t2( txt2 );  // Since object is const, I\'d like to be able to pass a const argument in.\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

它因错误而爆炸:

\n\n
error: invalid conversion from \xe2\x80\x98const char*\xe2\x80\x99 to \xe2\x80\x98char*\xe2\x80\x99 [-fpermissive]\n   const test t2( txt2 …
Run Code Online (Sandbox Code Playgroud)

c++ constructor arguments constants

5
推荐指数
1
解决办法
4978
查看次数