C++ :: Using (this) In Template Header?
Sep 28, 2013
i have 1 class:
from here: [URL]
template <typename Container, typename ValueType, void (Container::*setptr)(ValueType t),ValueType (Container::*getptr)(), int nPropType=3>
class property {
[code]....
(but i did the version 2;))
my question is: can i put these:
void setContainer(Container* cObject) {
m_cObject = cObject;
}
in header template?
i did these:
template <typename Container,Container* cObject, typename ValueType, void (Container::*setptr)(ValueType t),ValueType (Container::*getptr)(), int nPropType=3>
class property {
[Code] .....
how use it:
property <person2,this,string,&person2::setname,&person2::getname> Name;
(person2 is the class name)
errors messages:
"C:UsersJoaquimDocumentsCodeBlocks esteventsmain.cpp|31|error: invalid use of 'this' at top level|"
"C:UsersJoaquimDocumentsCodeBlocks esteventsmain.cpp|31|error: template argument 2 is invalid|"
how can i use the 'this' in template header?
View 1 Replies
ADVERTISEMENT
Sep 12, 2014
What is the right syntax for implementing the .cpp of a template class?
Consider this LinkedList.h file:
Code: #include<iostream>
#include"Iterator.h"
template <class T>
class LinkedList {
[Code] ....
How should the implementation for the LinkedList constructor, for example, should look like in the LinkedList.cpp file?
I tried this:
Code: #include "LinkedList.h"
template <class T>
LinkedList<T>::LinkedList<T>() {
// constructor
}
LinkedList<T>::~LinkedList<T>() {
// destructor
}
But the compiler wouldn't accept it.
View 4 Replies
View Related
May 16, 2014
I'm doing a compiler, and I'm using writing everything in headerfiles.
at the moment I have lexer.h, token.h and for this case I need reservedWords.h
reservedWords.h is made up of enums showing the needed words
in token.h I have a function called reservedWords reservedLookup(string str) which returns a reservedWord (enum)
now in lexer.h I have a function called Token* getNextToken() in which I need to make use of the function reservedLookup found in token.h
note that all of them are classes apart from reservedwords as in
class Lexer
{
public: .....
}
class token
{
public .....
}
how I can call that function?
I tried declaring reservedWords reservedLookup (string str) BUT obviously it's directing me as Lexer::reservedLookup and not as Token::reservedLookup
When I tried using Token::reservedLookup it gave me
E:Universitycompilerslexer.h|65|error: cannot declare member function 'Token::reservedLookup' within 'Lexer'|
N.B I use namespace std, that's why I didnot write std::string str
View 1 Replies
View Related
Dec 5, 2013
I'm trying to implement a simple template array class, but when i came into the operator< i actually have to use a template :
my code is something like :
template<typename _Type, std::size_t _Size>
class array {
public :
[Code] ......
but i am having an error of shadows template param 'class _Type' is it w/ the name conflict between the array template parameter and the function template parameter ?
View 6 Replies
View Related
Nov 6, 2013
Error1error C2955: 'DoubleLinkedListInterface' : use of class template requires template argument listdoublelinkedlist.h10
Error2error C2244: 'DoubleLinkedList<T>::DoubleLinkedList' : unable to match function definition to an existing declaration doublelinkedlist.cpp7
Error3 .cpperror C2244: 'DoubleLinkedList<T>::~DoubleLinkedList' : unable to match function definition to an existing declaration 12
.h
#pragma once
#include "DoubleLinkedListInterface.h"
#include "Node.h"
#include <iostream>
[Code]....
View 4 Replies
View Related
May 27, 2013
I have a generic template class with another template in one of its types. Now I want to specialize one of its methods for a particular (template) class, which leads to a compile error, however.
Here is the example:
#include <stdio.h>
template<typename Type>
class Obj1 {
public:
void ID() { printf("Object 1, size = %zu
[Code] .....
GCC ends with:
:35:27: error: type/value mismatch at argument 2 in template parameter list for ‘template<class Type, template<class> class O> class Foo’
:35:27: error: expected a class template, got ‘Obj2<Type>’
What is wrong with the specialization? Can it even be achieved and how (if so)?
View 1 Replies
View Related
Nov 2, 2014
how I want the code to look. Only problem is it doesn't work (Line 11). I have some experience with templates but I'm not a pro.
Basically I want the "Channels<3>" to be a type that I can use to specify a Cable with similar to vector<float/int> it would be Cable<Channels<2 or 3>>.
What have I messed up with the syntax?
#include <iostream>
#include <vector>
using namespace std;
[Code].....
View 4 Replies
View Related
Mar 14, 2014
I have a function:
template<class Iterator, class T>
void a(Iterator, Iterator, const T&);
and I want to be able to simplify calls to 'a' with calls like
a(someIteratableContainer);
instead of having to call:
a(someIteratableContainer.begin(), someIteratableContainer.end(), valueOfTheContainersElementType);
I also want to be able to generalize the function to handle any of the standard iteratable contains: array, vector, deque, whatever.
I was under the impression I could write:
template<template<class T> class U> a(U<T>& container) {
a(container.begin(), container.end(), g(T()));
}
where 'g()' returns an object of the element type. However, the compiler is claiming, no matter how I write a call to the overload, the original template is selected and/or the overload is invalid, depending on the various ways I attempt to write said overload.
View 7 Replies
View Related
Sep 16, 2013
When including a header file in stdafx.h, should that file still be included in the source file where it is actually used?
If it is included in both places, is the one in the source file ignored?
View 5 Replies
View Related
Nov 17, 2013
[URL]
#include <iostream>
struct Outer {
template<typename T>
void go() {
std::cout << Test<T>::f() << std::endl;
[Code] .....
I have tried several variants on this code to no avail. Outer is in a header, along with the extern template statements, and the specializations after main are in their own cpp file. Main is in a different cpp file.
What do have to do to make this work? I cannot bring the definitions of f() into the header, and they will be different for different template parameters. Ideally, I want Test to remain a private member of Outer, though this can change if it's the only option.
View 1 Replies
View Related
Dec 11, 2014
I have been trying to get a hang on templates. I have the two following functions that that could be consolidated in a single template function:
void Attractor::updateFamilies(FamiliesController *_tmp, int _counter){
center.x = ofGetWidth()/2;
center.y = ofGetHeight()/3;
attractorCounter = _counter;
if(attractorCounter == 1){
[Code] .....
NotesController and FamiliesController have the same parent. The thing that I'm trying to grasp with templates is that is could something like:
template<class TYPE>
void Attractor::updateData(TYPE* *_tmp, int _counter){
center.x = ofGetWidth()/2;
center.y = ofGetHeight()/3;
attractorCounter = _counter;
[Code] ....
And then have another template function declaration for all the attractor functions where I pass the same template value as in the first one.
As you can see, I'm calling another functions inside called attractors(_tmp). I know that one way around it could be to get rid of that function and just do all the logic inside of each if statement. Is there any way to pass the same template function parameter within a template function parameter?
View 2 Replies
View Related
Feb 9, 2015
I have a class like this
PHP Code:
template<class X>
class A {
X m_x;
public:
X* foo();
X* bar();
//others are not related to X
};
I would like to get rid of
PHP Code: template<class X>
For class level but still use it for members. Like this
PHP Code:
class A {
X m_x;
public:
template<class X>
X* foo();
template<class X>
X* bar();
//others are not related to X
};
However, I am still stuck at
PHP Code: X m_x;
View 6 Replies
View Related
Oct 12, 2013
Let me put it into the code snippet:
/**
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:
osgOpenCL::Context *cxt = osgOpenCL::Singleton<osgOpenCL::Context>::getPtr();
I tried commenting assertion statements and then the debugger just exits at the point where getPtr() is called.
View 7 Replies
View Related
Aug 29, 2014
Given:
#include <string>
template <class T>
class basic_container{
[Code] .....
is this possible:
#include "../basic_container/basic_container.hpp"
template <class T>
class container_vector{
[Code] .....
If not, what do I need to do to achieve my goal?
View 1 Replies
View Related
Mar 23, 2013
1. Write a program the calculates the volume of a sphere.
Use a define to set Pi to 3.14 and a macro for the formula for the sphere.
V = 4/3PiR3.
In main ask for the radius (R).
Pass it to a function where you calculate the volume and return it to main and print the volume in main.
Use float values. (Save this program as you'll need it later.)
Code:
#include<stdio.h>
void fun (float);
main()
[Code].....
View 8 Replies
View Related
Nov 2, 2013
I have a piece of code in C with header files included. I run it on Mac OS X Maverick with XCode 4.6.2 installed. GCC is also installed. Note that Command Line Tools in XCode are already installed.
When I compile it, the error I receive says something like this:
add.c:1:19: error: stdio.h: No such file or directory add.c:2:20: error: stdlib.h: No such file or directory add.c:3:20: error: unistd.h: No such file or directory
However when I run it on Ubuntu, it compiles without a problem.What to do?
View 2 Replies
View Related
Dec 9, 2013
So I've been making a header file and put variables in their own namespace to avoid conflicts. My question is, do functions in the header file normally go in a namespace too, or should they just be named in a way which makes them unlikely to be accidentally copied?
View 15 Replies
View Related
Jun 24, 2013
Code:
/* some useful headers */
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
//my headers
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <vector>
[XCode] .....
The bit that's giving me issues is the "calculatedetails" function, where an mp3 file is opened in binary and then an array of chars is filled with the binary data.
The problem I'm having is that I want to be able to read the constituent bits of the characters in, so that I can find the mp3 frame headers (12 1's in succession)
I'm aware that the section I've added in to perform this is incorrect.
View 7 Replies
View Related
May 19, 2013
Can we put using namespace std; in a header file? Someone told me not to do it, but I don't know why...
View 2 Replies
View Related
Jun 4, 2013
I need read a file with header and I wanna print the file in output. How can I do that? I tried but not work..
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
[Code]....
View 1 Replies
View Related
Jul 24, 2013
All i want to do is modify a header of a file(.exe file). I just want to do if for fun and see what I can do with it.
View 3 Replies
View Related
Apr 11, 2013
I have a class Myclass (for the sake of the example). I have a header file 'space.h', which is following:
#include "Myclass.h"
struct Files {Myclass* new_object, int number};
But turns out in the Myclass.h, I need the struct Files, like so:void function(vector<Files> arrangement);
So I would have to include "space.h" in the Myclass.h, but this way there's going to be a double definition of struct Files, since Myclass.h includes space.h and space.h includes Myclass.h.
View 4 Replies
View Related
Apr 2, 2013
My teacher talks about header files just having definitions and not declerations. I am writing a program that has a .h file and a related .cpp file along with a main.cpp it would be nice to have the .cpp file associated with the .h file compiled into an object file that would than just be referenced when the .h file is included. Am I making any sense?
View 2 Replies
View Related
Sep 17, 2013
I want to use two header files in my program. Here is exactly what I want to do.
-In the first header I have a binary tree and a structure.
-In the second file I have another functions that need to use the structure in the first header.
-I also want to use a function from the second header in the first.
-And finally I want to do actions with both headers in a "main.cpp" file that contains only int main() function.
How to include the headers in each other and in the main.cpp to be able to do the actions above?
I try to include the first header in the second one and the second one in the first header. Then I include both headers in the main.cpp file. But the compiler shows me many errors.
View 5 Replies
View Related
Oct 22, 2013
Any good/solid example on how to create a header file?
View 2 Replies
View Related
Jan 16, 2013
I have written code for a timer. with everything and i want to include this so i dont need to write or copy the reqd code each time. how do i do this?
View 9 Replies
View Related