Как исправить ошибку «ВОЗВРАТ, пропущенный для не пустой функции» в tromeloeil? - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь понять, как использовать библиотеку Trompeloeil с C ++ 11. В этом примере я столкнулся с огромным количеством ошибок при сборке и не могу понять, почему.

#define CATCH_CONFIG_MAIN
#include "catch.hpp"
#include <rapidcheck.h>
#include <rapidcheck/state.h>
#include <trompeloeil.hpp>
#include "../../../include/Orion.h"
#include "../../../include/optionCheckerFileHandler.h"

class mock{
  public:
  MAKE_MOCK1(getFileParams, int(int));
};

TEST_CASE( "Factorials are computed", "[factorial]" ) {
  using trompeloeil::_;  // wild card for matching any value
  using trompeloeil::gt; // greater-than match
  mock m;{
    REQUIRE_CALL_V(m, getFileParams(1)).RETURN(0);
  }
}

Существует огромное количество ошибок при сборке, но те, которые мне выделяются следующие:

In file included from /home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/src/main.cpp:5:0:
/home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/src/main.cpp: In function ‘void ____C_A_T_C_H____T_E_S_T____0()’:
/home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/lib/trompeloeil/include/trompeloeil.hpp:4727:3: error: ‘class std::unique_ptr<trompeloeil::expectation>’ has no member named ‘handle_return’
   handle_return(   

, а также

/home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/lib/trompeloeil/include/trompeloeil.hpp:3891:7: error: static assertion failed: RETURN missing for non-void function
       static_assert(valid_return_type, "RETURN missing for non-void function");

Если бы кто-то мог помочь мне разобраться в этом, это было бы очень признательно. Я могу предоставить полные ошибки сборки по запросу

...