Suppose I'm wanting to define a predicate for some algorithm. I already need to provide the begin/end iterators of a container, can I somehow use the container instance to derive it's type that I can then use as parameters of the lambda predicate ?
Essentially... something along the line of:
Code:
// doesn't compile ! just used as an example
auto something = std::min_element( foo.begin(), foo.end(), [](typeof(foo)::const-reference left, typeof(foo)::const_reference right) {
left.calculateSomething() < right.calculateSomething();
});
Essentially, I don't care about what specific type is stored in foo. I just want a convenient way to get to the type without having to look up that the actual type is :
I would like to derive a class from pugi::xml_node to add more functionality to the class. I get stuck when I try to append a child because pug::xml_node append_child return pugi::xml_node (not a pointer).
/** This class build the singleton design pattern. Here you have full control over construction and deconstruction of the object. */ template<class T> class Singleton
[Code]....
I am getting error at the assertion points when i call to the class as follows:
it is not possible to get a type from an object, only from a type. Even with auto, you can only instantiate another type of the same type.I'd like to get a type from an object given another type, mainly because it is less typing and less error prone.
Some psudocode:
Type1 A<X, Y> a; int b; Type2 a.InnerType<b>::type c; // obviously won't work
A work around I thought of would be to use functions:
Type1 A<X, Y> a; int b; auto c = a.getInnerType(b);
Which is kinda interesting and looks like the way I'm going to go. However, I'm just wondering if there is any other ways of doing this as I don't really want to instantiate an object if I can avoid it (though the optimizer will probably just dump it anyway).
I am new to c++ and trying to learn. for instance. i have a struct and method.I am trying to learn what i can do with the method if i define the return type as struct type.
struct S { int age; string name; }; S method() { //what i can do in here. with the Struct. I mean can i reach members of the struct. etc }
I have defined my own class, Queue, which inherits from my own class, LinkedList. I have been using templates to allow Queues to be of int, string, etc types.
But now I want to be able to store objects in my Queue type. And so the problem I have is that in my LinkedList class, I have two instances where I initialize an instance of my generic type T to 0.
For instance, the removeFirst() method starts like this:
template <typename T> T LinkedList<T>::removeFirst() { T a = 0;
And so the compiler complains that it can't convert from int to [in this case] Command&.
I got base class called Statistic and inherited classes from it : lsp, cpu, memory. Those methods inheriting some of methods from Statistic and implement also theirself methods. I prepared some new class called ExecuteRequest which is taking Statistic object in the constructor. What i want to achieve is after i put e.g LSP to this class i would like to determinate what specific object it is in this case LSP right? Then having that i would like to put this object to RunRequest method. How can i achieve that? See my code below:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SOAP_testing { public class ExecuteRequest
I am getting a compilation error from the code below. It is when i am naming a variable with my user defined type.
#include<iostream> #include<cstring> #include<cstdlib> using namespace std; class person {
[Code] .....
C:Dev-CppTRIAL.PASS.!!!.cpp In function `int main()': 66 C:Dev-CppTRIAL.PASS.!!!.cpp expected primary-expression before "p" 66 C:Dev-CppTRIAL.PASS.!!!.cpp expected `;' before "p" 74 C:Dev-CppTRIAL.PASS.!!!.cpp `p' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) 83 C:Dev-CppTRIAL.PASS.!!!.cpp `X' undeclared (first use this function)
The following code compiles and runs fine till it reaches line 16 and gets a sigsev violation which I'm not sure about as to why. I have no problem passing the object of type node** into the constructor of base and storing it into the double pointer node** copy;; but when I call the function void pass(node** temp) it crashes.
#include <iostream> class base; class node { private: node** data; public:
"A nested class has free access to all the static members of the enclosing class. All the instance members can be accessed through an object of the enclosing class type, or a pointer or reference to an object."
How can the members be accessed through an object of the enclosing class type? I understand the pointer and reference part because for them you dont need the full definition, but for creating a object you do?
Also it has free access to all static members because the nested class is part of the enclosed class and with static it exists in everything inside the enclosing class? Right or am I missing something?
will copy constructor does object initialization using another already created object? I understand that it can be applied for object initialization and not for assignment.Is it correct?
I have a method to take a Tile object and make an instances of it based on some data from the original object. Than it is suppose to manipulate the a specific instance and save the results. The first loop through it works but it changes all instance as well as the base.
public static int recurse(int count, Tile[,] b,Huristic h,int check) { if (check==1) { boardState.Add(B)/>; return check; } if (check == 0)
I'm having some problems with changing an array of numbers of type char to type int. Every time i try to sum 2 array indexed values it returns some letter or symbol. Also, if i change the type of the array in the functions the compiler gives me an error message. I would also like to add that the problem requires that the first two arrays be char so each individual number gets assigned to a different value.
My current code is:
Code: #include <iostream> void input(char a[], char b[], int& size_a, int& size_b); void convert(char a[], int size); void reverse(char a[], int size); void add(char a[], char b[], int c[], int size); int main()
this function will return a temporary integer now void fun1(const int & num); this function can receive from myfun().BUT void fun2(int & num); this function cannot receive from myfun() Why is that, Moreover what is lifetime of a temporary object like one returned in myfun() ???
I am using the above code to retrive an item selected by user,But this line is giving an exception "Null Reference Exception, Object reference not set to an instance of an object"
list contains, in order: A, B and C in any order, D, E
I am thinking it is possible with some clever template and polymorphism combos, but maybe not. As a last resort I know how to make it work by storing static type information in each class, but I'd like to avoid that if possible.
In Visual Studio 2010 C++ I have a series of existing text objects The text properties names are item1_lbl, item2_lbl, item3_lbl, ….
Based on a selection I want to change an object. I generate the name of the object I want to change in a string so from this string is there a way to get a pointer to the correct text object that is same name?
I'm trying to figure out how I can create a vertex array object at offset of a vertex buffer object.I've created the buffer object. I'd like the "texs" idnex data to start at the texture coordinate content of the vertex_t structure.
Type definitions:
struct vertex_t { vector3d_t position; float s; // Texture coordinate s float t; // Texture coordinate t };
Code so far:
// How do I make this start at a certain spot of the VBO?! glVertexAttribPointer(texs, 2, GL_FLOAT, GL_FALSE, sizeof(vector3d_t), nullptr; //...