Giter Club home page Giter Club logo

cpppc-18's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cpppc-18's Issues

Redefinition?!

`#include

namespace cpppc
{
// forward declaration
template <typename ValueT, ValueT default_value = ValueT()> class list;

template <typename ValueT, ValueT default_value = ValueT()> class list {
typedef list<ValueT, default_value> self_t;
public:

// list::iterator
class iterator {
typedef typename list<ValueT, default_value> list_t;
typedef typename list_t::list_node list_node_t;
typedef typename list_t::iterator self_t;
public:
iterator() = delete;
`

make
g++ -std=c++11 -Wall -Wextra -pedantic -I/include -I../ -c vector_test.cc -o vector_test.o
In file included from vector_test.cc:7:
../solution/list.h:10:71: Fehler: Redefinition des Standardarguments für »ValueT default_value«
template <typename ValueT, ValueT default_value = ValueT()> class list {
^~~~
../solution/list.h:7:62: Anmerkung: ursprüngliche Definition trat hier auf
template <typename ValueT, ValueT default_value = ValueT()> class list;
^
Falls jemand eine Idee hat, wäre sehr dankbar.

03-1: Ist *pop_back()* erforderlich?

Ist eine pop_back() implementation erforderlich? Wir sollen ja einen ForwardIterator mit einer single-linked-list kombinieren. Eine sinnvolle Implementierung von pop_back() wuerde aber eine double-linked-list erfordern.

Compile error == operator overloading

Beim compile des measurement Tests erscheint folgende Fehlermeldung:
/usr/include/gtest/gtest.h:1430:11: error: invalid operands to binary expression
('int' and 'const cpppc::Measurements')
if (lhs == rhs) {
~~~ ^ ~~~
Warum wird hier lhs als int interpretiert? Die Signatur meines ==-Operators sieht wie folgt aus:
edit:
bool operator==(const self_t &rhs) const
//bool operator==(const vector &v1) const

sparse array

`TEST_F(SparseArrayTest, RandomAccess)
{
LOG_MESSAGE("SparseArrayTest.RandomAccess");

constexpr int N = 840 * NMULT;
sparse_array<int, N> sa;

auto it = sa.begin() + 621;

*it = 123;
ASSERT_EQ(it, std::find(sa.begin(), sa.end(), 123));

it += 100;
*it = 2340;
ASSERT_EQ(it, std::find(sa.begin(), sa.end(), 2340));
laut dem test könnte man an verschiedenen stellen denselben wert einfügen, was dann einem array entspräche... Ich dachte der Sinn sei es ein Wertepaar von Key und Value zu speichern, sodass dann N Werte gespeichert werden könnten mit indizes von 0 bis max(int), diese könnte man dann sortiert einfügen und bräuchte nicht lange suchen....
Verstehe daher den test mit dem Iterator und seiner Position nicht.
Grüße

ein lambda fangen

warum geht das (Quelle cppref):
print_num(int i){std::cout<<i<<"n";}

std::function<void()> f_display_42 = []() { print_num(42); };
f_display_42();

aber das hier nicht???
lazy_sequence(const T size, std::function<T(int)>& f)

candidate constructor not viable: no known conversion from '(lambda at lazy_sequence.cc:8:25)' to 'std::function<int (int)> &' for 2nd argument

lazy_sequence container überhaupt ein container?

Hallo
wie verhält sich ein LSC bei pop_front? soll er das haben? ist das nächste Element dann das selbe wie das dann letzte? oder soll i gespeichert werden und für die instanz stetig erhöht werden?

Ein container der nichts speichert widerspricht ja dem concept eines containers. ein Algorithmus würde ja dann eigentlich reichen, der die eingabe i verwurstet und das ergebnis der funktion widergibt...

Was also muss er von seq_con können und was nicht?
ein container wäre er nur, wenn durch pop (front/back) werte rausfallen und dann nur durch erzeugung neuer (ggf in der mitte) neue erzeugt werden. Sollen dabei Duplikate entstehen können, je nach position? dürfen sich Sachen verschieben?

Bitte um Klärung! (zügig wäre mir lieb, da ich unter der Woche kaum mehr Zeit haben werde!)

03-1: Unknown error message

When I try to initialize list_node * _head = { nullptr, default_value }; there is this error: rrror: excess elements in scalar initializer.

What is the meaning of this error and how can i resolve it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.