小编All*_*ala的帖子

找不到gtest.h文件googletest xcode 7.0

我正在尝试按照xcode 7.0中的本指南为我的c ++项目设置谷歌测试框架我到了最后一步Build and Go但是在网上搜索了几个小时后我无法让我的测试项目运行.编译器似乎找不到它需要的头文件.main.cpp:9:10:找不到'gtest/gtest.h'文件.来源是:

#include "gtest/gtest.h"

#include "calc.hpp"

int main(int argc, const char * argv[]) {

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

我也试过#include <gtest/gtest.h>同样的结果.

c++ macos xcode unit-testing googletest

8
推荐指数
2
解决办法
6142
查看次数

当值设置为空时,是否可以阻止TStringlist删除键值对

当value设置为empty时,我可以阻止TStringList删除键值对吗?我使用的Delphi XE8和Lazarus的工作方式不同.我希望将该对保留在TStringlist对象中,即使该值设置为空字符串也是如此.例如:

procedure TMyClass.Set(const Key, Value: String);
begin
  // FData is a TStringList object
  FData.Values[Key] := Value; // Removes pair when value is empty. Count decreases and Key is lost.
end;
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当我使用Delphi编译时,删除了具有空值的对,之后我不知道是一个未设置密钥的值,或者它是否显式设置为空字符串.此外,我无法获得所有已使用的密钥.现在我需要持有另一个包含空信息的密钥集合.

MyKeyValues.Set('foo', 'bar'); // Delphi FData.Count = 1; Lazarus FData.Count = 1
MyKeyValues.Set('foo', '');    // Delphi FData.Count = 0; Lazarus FData.Count = 1
Run Code Online (Sandbox Code Playgroud)

delphi

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

为什么不在不同单元中调用具有相同签名的函数会导致编译器错误?

为什么这段代码不会导致编译错误?我本来期望错误,例如'对"CallMe"的模糊调用.这是编译器或语言中的错误吗?这可以通过使用单元名称和函数调用前面的点来解决,但这不会屏蔽用户代码和库代码以防止名称冲突.你认为你的代码做了一些事情,但它做了别的事情,这很糟糕.

uses
  Unit2, Unit3;

{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(CallMe(5)));
end;

unit Unit2;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils;
function CallMe(A: Integer) : Integer;
implementation
function CallMe(A: Integer) : Integer;
begin
  Result := A * 2;
end;
end.

unit Unit3;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils;
function CallMe(A: Integer) : Integer;
implementation
function CallMe(A: Integer) : Integer;
begin
  Result := A * -1;
end;
end.
Run Code Online (Sandbox Code Playgroud)

delphi lazarus

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

clang 和 gcc 定义为未使用的变量

我在 PR 评论中注意到一个未使用的变量,我们想知道为什么编译器没有捕获它。因此,我使用 godbolt 使用一堆未使用的变量测试了以下代码,令我惊讶的是有些被报告为未使用,但其他则没有。尽管全部都没有使用过。

#include <string>

struct Index
{
  Index(int index) : m_index(index) {}
  int m_index;
};

int main()
{
    std::string str = "hello"; // case 1. no warning here - unexpected
    int someValue = 2; // case 2. warning - as expected
    const int someConstant = 2; // case 3. warning - as expected
    Index index1(2);  // case 4. just as equally not used but no warning - unexpected
    // here using the assignment but do get a …
Run Code Online (Sandbox Code Playgroud)

c++ gcc clang compiler-warnings

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