C++ :: Error Using (this) Pointer In Static Members Function?

Sep 4, 2012

I am trying to use 'this' pointer but i am confused why 'this' pointer is not available for static member functions.

Code:
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
const int MAX = 20;
const int MAXPTR = 100;
class name {
private :
char fname[MAX], mname[MAX], lname[MAX];

[code].....

I am using GNU GCC Compiler via Code::Block

Error : 'this' is unavailable for static member functions

View 4 Replies


ADVERTISEMENT

C++ :: Do Static Functions Have Access To Non Static Data Members Of A Class

Apr 17, 2013

From my book:

"A static function might have this prototype:

static void Afunction(int n);

A static function can be called in relation to a particular object by a statement such as the following:

aBox.Afunction(10);

The function has no access to the non-static members of aBox. The same function could also be called without reference to an object. In this case, the statement would be:

CBox::Afunction(10);

where CBox is the class name. Using the class name and the scope resolution operator tells the compiler to which class Afunction() belongs."

Why exactly cant Afunction access non-static members?

View 7 Replies View Related

C++ :: Accessing Non-static Members Inside Static Member Functions

Sep 11, 2013

What are the workarounds for accessing the non-static member variables of some class(Say A) inside static member functions of another class(Say B)? I am coding in c++. Class A is derived with public properties of class B. Any pointers?

View 7 Replies View Related

C++ :: Function Pointer To Non-static Class Member

Aug 19, 2014

I have the following problem: I am using NLOpt for optimization. The API provides functions to set the objective. This is done as follows:

double objective(const vector<double> &x, vector<double> &grad, void *data)
{
return x[1]*x[0];
}
int main(){
nlopt::opt opti(nlopt::LD_MMA,2);
opti.set_min_objective(objective,NULL);
vector<double> x(2);

[Code]....

Now I want to make the function objective a member of a class:

class Foo {
public:
double objective(...){..}
};

How can I give this method to opti.optimize? If I make objective static I can use

opti.optimize(Foo::objective,NULL);

but I do not want to have a static member. Is it possible to create an object of type Foo and give it to opti.optimize?

View 1 Replies View Related

C++ :: Const Static Integral Members

Jan 16, 2014

I've been having a problem concerning the initialization of const static integral members with floating point calculations. I'll let his sample program do the explaining:

class Foo {
public :
Foo() {}
const static int samplerate = 44100;
const static unsigned short tempo = 120;

[Code].....

I know you can't initialize const static non-integral types on the same line on which they're declared, but I don't see why even an implicit cast to an integral type should be disallowed. I make my calculations using doubles, so I'm surprised that even though it should degenerate into an integer - it's still a problem for the compiler.

View 1 Replies View Related

C++ :: Const Static Members In A Template Class?

Jan 17, 2013

I have a little problem with template classes and their specialization. Here is a short example:

template <typename T>
struct A{
// some typedefs

[Code]....

The above example is not compiling, because of the assignment of the const static double. Double needs a constructor, but that doesn't work (or seems not to work) with static.

I'm not sure, if it works at all in C++ that way. All I want is a template struct with some typedefs and a constant which is different for different specializations. Don't think it has to be static, but that would be better style, wouldn't it?

View 3 Replies View Related

C++ :: Link Time Errors For Static Members?

May 15, 2013

Code:
class NavMeshLoader {
public:
NavMeshLoader() {
m_navMesh = loadAll("all_tiles_navmesh.bin");
m_navQuery->init(m_navMesh, 2048);

[code]....

View 5 Replies View Related

C++ :: Error - Reference To Non Static Function Must Be Called?

Feb 27, 2013

So on lines 36 - 39 (The commented out functions) is where I'm sure is causing this error because once I don't comment them out pretty much everywhere Flink or Rlink is used or defined I get this error.

#ifndef nodes_Nodes_h
#define nodes_Nodes_h
#include <cstdlib>

[Code]....

View 4 Replies View Related

C++ :: Compile Error With Static Template Function

Nov 29, 2012

The below code compiles without error using VS 2012 but with g++ 4.1.2 I get this error:

Code:
main.cpp: In function 'int main(int, char**)':
main.cpp:37: error: no matching function for call to 'StringHelper::stringToNumeric(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'

Here is the code:

#include <string>
#include "boost/lexical_cast.hpp"
using boost::lexical_cast;
using boost::bad_lexical_cast;
class StringHelper {

[Code] ....

This is part of a larger program so in reality StringHelper has more static functions but this example does produce the error the same as the code when in the larger program.

To get it to compile under g++ I had to assign the return value from substr() to a string and pass that string to stringToNumeric. Why do I have to do this for g++ and not VS? Do I have something wrong with my template function that g++ is calling out and VS is not?

View 4 Replies View Related

C++ ::  Storing Static Class Members Of Dynamic Variable Type In DLL

Oct 15, 2013

How I can implement it.

Tickable.h

#include <list>
#ifdef TICKABLE_EXPORTS //Automatically defined by MSVS
#define DLL __declspec(dllexport)
#else
#define DLL __declspec(dllimport)
#pragma comment(lib, "Tickable.lib")
#endif

class DLL Tickable{

[Code] ....

error LNK2001:
unresolved external symbol "private: static class std::list<class Tickable*,SKIPPED BITS> Tickable::subs" HUGE_SYMBOL_LIST
PATHTickable.obj

I know with such a tiny and insignificant class the dll export seems pointless but this class is actually intended to be a .lib ONLY. But it is derived from by .dll style classes, and through inheritance this error is the exact same as what appears in the derived class, I just imagine that the cut down version would be easier to work with.

Is it possible to hold either a static variable in a dll which is of a dynamic type, OR would it be possible to reference an external variable which is static throughout the instances and this variable can be chucked away in a namespace of mine somewhere?

I suppose my only other option (if this is possible) would be to define a maximum instance number and create a standard array of pointers but this could both waste so much memory when not in use and cause problems if I need more memory.

View 5 Replies View Related

C++ :: Undefined Reference Error When Accessing Static Variable Inside Member Function

Feb 10, 2013

I am modifying a set of static variables inside of the class's member function. The static variables are private. An example of what I'm doing is as below,

utilities.h
-----------
class utilities {
private:
static int num_nodes;

public:
void parse_details(char* );

[Code] ....

I get a compilation error in the function void utilities::parse_details(char* filename)

which says: undefined reference to `utilities::num_nodes'

compiler: g++

View 2 Replies View Related

C/C++ :: Pointer To A Function Used In Arithmetic Error

Nov 23, 2014

I'm working on a short program to calculate the mode of a vector of ints. I am new, so not extremely familiar with pointers, and passing items to functions. This is something I've struggled with (obviously, or I wouldn't be here). I am currently getting the following error when I try to compile this program using g++:

warning: pointer to a function used in arithmetic

I receive this error for the following lines: 66, 73, 75, 81.

I am not using pointers here so I do not understand why this error crops up, much less how to fix it. Here is the code I am struggling with:

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <limits>
using namespace std;
vector<int> getModes(vector<int> userValues);

[Code] ....

The errors are on lines 54, 61, 63, and 69

View 3 Replies View Related

C++ :: Class Calendar - Pointer To A Function Error

Nov 30, 2013

I have a class Calendar which has an attribute of priority queue, that accepts records of structure defined as:

typedef void (Calendar::*eventPointer)();
struct activationRecord {
double Time;
int Priority;
eventPointer activationEvent;
};

And here is the problem. Whole day I've been trying to fill the Calendar with some test entries by calling the method

void Calendar::calendarPush(double Time, int Priority, eventPointer event)

This is how I call it

calendar.calendarPush(Time, Priority, &Calendar::calendarEmpty);

But Visual Studio keeps to warn me with this error

argument of type "bool (Calendar::*)()" is incompatible with parameter of type "eventPointer *"

#include <iostream>
#include "Calendar.h"
using namespace std;
int main() {
cout << "Initializing ..." << endl;
double Time = 0.0;
int Priority = 0;

[Code] ....

View 4 Replies View Related

C++ :: Memento Pattern Failing Because Of Pointer Data Members

May 24, 2014

All the undos and redos were working fine until the pointer data members came into the picture. The problem is that the values pointed to changed, but the pointers themselves did not. So restoring gives the same pointers but they still point to the new values. I think the solution is that the classes that are the pointer data members themselves need their own Mementos (which would be a lot of work because there are many data member pointers in my program). Is that the only approach?

Here is a sample code to show what I'm talking about. You can compile and run the program to see the problem it has restoring values of pointer data members:

#include <iostream>
#include <string>
#include <memory>
#include <vector>
#include <list>
#include <cstdlib>
#include <ctime>
class FoodHistory {

[Code] ....

View 2 Replies View Related

C++ ::  Why Every First Function Of Each File Get Error - Multiple Definition Of Void Pointer

May 6, 2014

I declared all functions in header file, such as:

bool readCase();

bool meshing();
bool readMesh();

bool calculateFlowfield();
bool readFlowfield();

bool calculateEvaporation();

And then I define them in separated .cpp files, each .cpp file include the header, but I got multiple definition error, why?

Even the int main() function, which only decalred and defined once got this error, why?

View 14 Replies View Related

C++ :: Static Pointer To Class That Is Used Globally

Oct 10, 2013

If I need a static pointer to a class that is used globally(multiple files), and I only want to allocate memory once.

One way is to create a function that returns a static pointer of type class and call it where ever you need this pointer. My question is there another way to do this like with a header file and include the header file where you need to use the object of type class.

static class* function
{
static class c;
if (c == NULL)
{
c = new class;
}
return c
}

View 1 Replies View Related

C++ :: Application That Has One Static Library Dependency - Linking Error

Feb 16, 2012

I am trying to build an application that has one static library dependency, however I am getting this error when linking:

1>ClCompile:
1> All outputs are up-to-date.
1>LINK : fatal error LNK1104: cannot open file 'TestWrapperLib.obj'

Why I might be getting that? I have the .lib in the depends line, and the directory where it is at in the include line.

View 1 Replies View Related

C :: Function That Will Work For Both Dynamic And Static Implementations Of A Function To Get Transverse Of Matrix

Feb 11, 2013

i need a function that will work for both dynamic and static implementations of a function to get the transverse of a matrix. so far, i have this

Code:

matrix transpose(matrix m)
{
int row, col;
row = m.com_dim;
col= m.row_dim;
}

[code]....

this works well with my static implementation, but when i try it in dynamic it gives me errors. the function has to be the same for both dynamic and static implementation

View 4 Replies View Related

C :: Calling Function Via Function Pointer Inside Structure Pointer

Mar 14, 2013

I'm trying to call a function via a function pointer, and this function pointer is inside a structure. The structure is being referenced via a structure pointer.

Code:

position = hash->(*funcHash)(idNmbr);

The function will return an int, which is what position is a type of. When I compile this code,

I get the error: error: expected identifier before ( token.

Is my syntax wrong? I'm not sure what would be throwing this error.

View 3 Replies View Related

C++ :: Creating Public And Static Field In A Class - Unresolved External Symbol Error

Apr 5, 2014

I'm trying to create a public and static field in a class called ResourceManager. But when trying to access the field even from inside the class it wont work. I'm getting this error message:

Error 1 error LNK2001: unresolved external symbol "public: static int ResourceManager::num" (?num@ResourceManager@@2HA)

Here's my code:
ResourceManager.h

Code:

class ResourceManager {
public:
static int num;
static void loadContent();

[Code] .....

I'm using Visual Studio 2012.

View 2 Replies View Related

C++ :: Calling Defined Function Pointer From Another Pointer To Class Object?

Aug 19, 2014

I am attempting to implement function pointers and I am having a bit of a problem.

See the code example below; what I want to be able to do is call a function pointer from another pointer.

I'll admit that I may not be explaining this 100% correct but I am trying to implement the code inside the main function below.

class MainObject;
class SecondaryObject;
class SecondaryObject {
public:

[Code]....

View 10 Replies View Related

C :: Static Array Of Function Pointers

Jan 29, 2015

I basically have some code that lets users register callbacks into a callback table at a specified index. There is one element in this table for each event that can trigger a callback. I basically do something like this:

In a header file

Code:
typedef struct _GMclient
{
GMcommunicator gcomm;
GMclient_callback callback_table[(int)MAX_CALLBACKS];
}GMclient;

typedef int (*GMclient_callback)(GMclient*, void*, void*);

Then I allow them to set the callback with a function that basically ends up doing this (in a .c file that includes the previous mentioned .h file):

Code:
void
GMclient_register_callback(GMclient *client,
GMclient_callback fxn,
int index)

[Code] ....

Then later when I need to invoke that callback, I pull it out of the table

Code: GMclient_callback *fxn = client->callback_table[CMD_INDEX];

However, I get compilation errors:

Code: src/gmanager_client.c:43:6:

error: a label can only be part of a statement and a declaration is not a statement...

View 4 Replies View Related

C++ :: Static Variable In Member Function

Aug 27, 2014

I need to keep a static variable in a member function of a class that I have many objects of. I've had some trouble with it, and when I read up I found that such variables are static across all instances. Is there any way around this?

View 3 Replies View Related

C++ :: Getting Static Member / Function Errors

Mar 8, 2014

What am I doing wrong with static members and methods here?

compiler errors:

1>test.obj : error LNK2005: "private: static int Test::count" (?count@Test@@0HA) already defined in main.obj
1>c:usersjamesdocumentsvisual studio 2013Projectsstatic_testReleasestatic_test.exe : fatal error LNK1169: one or more multiply defined symbols found
test.h
#ifndef TEST_H_
#define TEST_H_
class Test {

[code]....

View 4 Replies View Related

C Sharp :: Write Log Using Static Function?

Oct 30, 2012

In my code, I wanted to write log exception to some file.

So I created a Utility class & wrote a static method in that to write log message to file.

public static void WriteLog(string message) {
  using (FileStream fs = new FileStream(@"c:log.txt",  FileMode.Append)) {
     using (StreamWriter streamWriter = new StreamWriter(fs)) {
          streamWriter.WriteLine(message);
     }
  }
}  

This works fine so far but I fear if two methods call this function simultaneously.. what will happen? Also, I want to access this same Utility library in my other "WEB" projects... will it work there too?Or else.. what will be the best way to log exceptions in any project?

View 4 Replies View Related

C++ :: Static Variable And Function With Template

Jul 18, 2012

I try to create small project in order to better understand how key word static works with templates . However some compiles errors crush my plan.

1>------ Build started: Project: 4.2b - Ex 1. Static Variable for Array Def Size. Templates, Configuration: Release Win32 ------
1> main.cpp
1>c:all myс++ha level 6solution level 6solution level 64.2b - ex1. static variable for array def size. templatesarray.cpp(40): error C2724: 'Array<Type>:efaultSize' : 'static' should not be used on member functions defined at file scope

[Code] .....

View 7 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved