小编pab*_*han的帖子

重载解析如何在私有修饰符的上下文中工作?

我无法理解以下 C++ 代码段的输出。

不应该objc.fn()调用A's,fn()因为 Bfn()private并且不应该在C. 然而,答案是:调用fn()不明确。如何?

#include<iostream>
using namespace std;

class A{
  public:
   void fn() { cout << "1"; }
};
class B{
   void fn() { cout << "2"; }
};
class C: public A, public B {};

int main(){
  C objc;
  objc.fn();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance overload-resolution

2
推荐指数
1
解决办法
369
查看次数

将整数数组复制到另一个数组时代码崩溃(使用整数指针)

我发现很难找到下面的代码有什么问题.我试图将一个简单的整数指针复制到我的一个本地整数指针(或Interger数组)作为我的结构构造函数的参数.由于某些奇怪的原因,它在for循环内的第一次迭代中崩溃.请帮忙

struct mystruct{
  UINT8 command;
  UINT8 nextOffset;
  UINT8* writeBuffer1;
  UINT8 checkSum;

  mystruct( UINT8 devAddress, UINT8 commandIn, UINT8 nextOffsetIn, UINT8 bufferSizeIn, UINT8 dataBufcheckSumIn, UINT8* writeBufferIn )
  : command( commandIn )
  , nextOffset( nextOffsetIn )
  {
     writeBuffer1 = new UINT8[bufferSizeIn];
     memset( &writeBuffer1, 0, bufferSizeIn ); 
     for( int i = 0; i < bufferSizeIn; i++ ) {
         writeBuffer1[i] = writeBufferIn[i];  //Program crashes here in the first iteration itself
     } 
     checkSum = (UINT8)  ~( devAddress + command + nextOffset + dataBufcheckSumIn) + 1; dbg::info() …
Run Code Online (Sandbox Code Playgroud)

c++ memory pointers

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

在 Linux 中处理系统(命令)调用超时

我正在尝试使用 linux 的系统(cmd)执行命令(从远程服务器获取密钥)。我的问题是当远程服务器无法访问时,对于少数 IP,它只是等待而不返回,这反过来使“system()”永远挂起。我想处理这种情况。我在想一种方法让我的 system() 等待一段时间,如果命令没有返回,那么 system() 命令必须出来报告不成功的状态。

我的命令看起来像这样:

int status = system("<<<URL of the remote server>>>");
//the above command must wait for a fixed duration before coming out if no response.
Run Code Online (Sandbox Code Playgroud)

c linux shell fork signals

0
推荐指数
1
解决办法
2421
查看次数

传递方法参数时防止数组超出范围

首先是第一件事.我知道没有办法直接找出方法中传入数组的大小,因为它们是作为指针接收的.我面临的情况类似但性质不同.

我有一个像这样的方法:

void method( int no_of_elements, int arr[])
{
   /* checking if array has 'no_of_elements' of elements.
}
Run Code Online (Sandbox Code Playgroud)

我想检查整数数组arr[]是否有no_of_elements.基于此,我的方法将进一步处理.我知道它几乎听起来像找到的大小arr[].至少这是我能想到检查我的要求的唯一方法.任何解决这个问题的方法都将受到赞赏.

c memory arrays

0
推荐指数
1
解决办法
70
查看次数

标签 统计

c ×2

c++ ×2

memory ×2

arrays ×1

fork ×1

inheritance ×1

linux ×1

overload-resolution ×1

pointers ×1

shell ×1

signals ×1