C :: Initialization Of A Pointer

Apr 27, 2013

Here is a function,which deletes the spaces of a string...

char *removespaces(char *s1) {

Code: char *s2=s1;
int i,j=0;
for (i = 0; i<strlen(s1); i++){
if (s1[i]!=' ') {
s2[j]=s1[i];

[Code] .....

why I have to initialize the pointer *s2 with the first element of the array s1...???If I don't initialize the pointer,or initialize it with something else,I get a segmentation fault...

View 10 Replies


ADVERTISEMENT

C :: Initialization Of Function Pointer

Apr 28, 2013

I would like to initialize an arry containing function pointers with adresses of functions that have a variable number of arguments.

Below the code that works in principle. I would however get rid of the warning message during compilation pointing to the initialzation of the funtion pointers in the array. How do I need to cast the pointers to the functions ?

Code:
gcc func_ptr_init.c
func_ptr_init.c:28: warning: initialization from incompatible pointer type
func_ptr_init.c:32: warning: initialization from incompatible pointer type

Code:
#include<stdio.h>
unsigned char func1_ptr(unsigned int* if_desc, int* result_code) {
*if_desc = 1;
*result_code = 1;
return(0);

[Code] ....

View 8 Replies View Related

C++ :: Initialization Of Pointer Arrays

Jan 1, 2014

The below example is an initialization of a pointer array:

char *month_name(int n) {
static char *name[] = {
"Illegal month",
"January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"October", "November", "December"
};
return (n < 1 || n > 12) ? name[0] : name[n];
}

Here we have an array of character pointers. The pointers are stored in name[i]. And they point to the characters of the i-th string, which are stored somewhere else in memory. But Is the character pointer pointing to the first character in the character string that is stored somewhere else in memory? I assume so because a string itself is an array of characters. And if that is the case, how does the pointer know what the last character should be? Does it just search for the null terminator?

View 2 Replies View Related

C/C++ :: Error - Initialization From Incompatible Pointer Type

Apr 8, 2012

Below is my code snippet.I'm getting "Error:initialization from incompatible pointer type" error on line 'int *q = status;'.

Obviously, I'm missing something but has no clue...:(

void findwalls(int *p,int y,int x){
int status[y_count][x_count][4];
int *q = status;
for(int i = 0;i < (y_count * x_count * 4);i++)
*(q + i) = *(p + i);

View 1 Replies View Related

C++ :: Array Of Struct Initialization

Apr 4, 2014

In a book I'm reading, the author has the following struct:

struct VertexPos {
XMFLOAT3 pos;
};

Where XMFLOAT3 is a structure with x,y,z floating point values within. He declares and initializes an array as the following.

VertexPos vertices[] =
{
XMFLOAT3(0.5f, 0.5f, 0.5f),
XMFLOAT3(3.3f, 5.6f, 3.6f),
XMFLOAT3(-4.5f, 2.2f, 6.4f)
};

It doesn't make sense to me why this is working. The way my mind is thinking about this is that vertices is an array of type VertexPos, so then why can it be initialized with objects of type XMFLOAT3?

View 2 Replies View Related

C++ :: In Class Static Map Initialization

Nov 17, 2014

I have a class containing a map member that I want to initialize at declaration time. I know I can do it in the cpp file but I'm having a problem with the order of initialization (static initialization order fiasco).

My questions are:

Is it possible that the scenario in which, the Test's constructor's implementation and the map initialization instruction are in the same cpp file and constructor is called when the map is not initialized yet, could happen?

Is it possible to initialize the map in class like I did? I get these errors:

in-class initialization of static data member 'std::map<std::basic_string<char>, Test*> Test::a' of incomplete type
temporary of non-literal type 'std::map<std::basic_string<char>, Test*>' in a constant expression

If yes, does this initialization resolve the static initialization order fiasco?

class Test {
public:
static std::map<std::string, Test*> a = {};//this is an error
Test(std::string ID) {

[Code] ....

View 4 Replies View Related

C++ :: Struct Reference Initialization

Nov 16, 2014

I have a custom struct hierarchy that goes vaguely like this:

struct Base
{};
struct Derived1 : public Base {
int num;

[Code] .....

I'm using "Base" simply as an umbrella struct, so I can access any of the derived structs with a "base" reference(&).

The issue I'm having is, I have a class that has a data member that is a reference to the struct "Base" but, I'm getting an error that says my constructor for this class doesn't provide an initialiser for that data member.

I've tried intialising a derived object for the reference, like so:

MyClass:MyClass() {
Derived1 d1;
d1.num = 0;
mBaseRef = d1;
}

But, it doesn't work...

View 1 Replies View Related

C++ :: Initialization Of Frames Variable

Jan 19, 2015

I tried to initialize the frames variable but when I go to debug it, it just gives me 30 errors compared to the one error when I don't initialize the frames variable.

#include "Gfx.h" // general gfx lib I made for SDL
#include "Input.h"
#include "General.h"
#include "Sprite.h"
#define screenw 620
#define screenh 480

/** CHARS ARE DONE */
//int mousex; int mousey; int mouseon = 0;
//int red = 0; int green = 0; int blue = 0;

[Code] ....

View 4 Replies View Related

C++ :: Construct Maps Initialization

May 5, 2013

I've a problem with the map construct. I wrote this class in which there are maps:

class Features {
private:
map<const string,GenericFeatureContainer*> featuremap;
map<const string,GenericFeatureContainer*>::iterator it;
int size;
public:
}

And I have the following constructor:

Features::Features() {
map<NULL,NULL> featuremap;
it=NULL;
size=0;
}

Is that correct? otherwise what is the correct syntax?

View 2 Replies View Related

C++ :: Exceptions Thrown During Initialization?

Jul 8, 2014

How exactly would one go about throwing an exception from an object's constructor?

Take a look at this snippet:

#include <iostream>
#include <exception>
class ExceptionFoo : public std::exception {
virtual const char* what() const throw() {

[Code].....

View 8 Replies View Related

C++ :: Segmentation Fault And Also Bad Initialization

Feb 25, 2012

Code:

#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

#define FILEPATH "./input.txt"
#define FILEPATH2 "./copy.txt"

[Code] ....

The problem is probably the fact that I'm using the variable s in the wrong way, but as I'm very bad at C and C++, at least so far anyway, I've no clue what's wrong. Is it my size that I passed in the marked method?

Also, how do I tell it, later, once this starts to work, to pass the file name of the file it'll copy to as the first param and the file it reads from to the pipe as the second param?

I'm supposed to be reading from a file, and as I was given some code, but it's probably in C and not C++, even if it is, I'm still not that great at C++ either, but anyway, I'm to have the program read from the file and write to the pipe and have the child read from the pipe and write to the output file.

FileCopy copy.txt input.txt

View 14 Replies View Related

C++ :: Char Array Initialization And Display

May 16, 2013

The following is something I am not clear about. Multi dimensional char arrays and the displaying of them.

Code:
#include <iostream>
using namespace std;
main() {
//char test[5][5]

[Code] .....

The commented out expression didn't run at all but the double quotation mark one did, unfortunately, it gives me a hexadecimal display. How can I get it to display like this:

*****
*****
*****
*****
*****

View 5 Replies View Related

C++ :: Why The String Provided For Initialization Is Too Long

May 9, 2014

I'm not understanding why the string provided for initialization is too long?

Code:

int main()
{
char array[1] = "A";
return 0;
}

View 6 Replies View Related

C++ :: Static Constant Member Initialization

Jun 5, 2013

I am having a problem concerning a static const member variable I want to use to set a certain property of my class during development time. The question actually concerns proper implementation as I do have a solution that "works" at least. The variable should denote the size of a member array which I don't want to allocate on the heap due to serious performance issues. So here is my code:

//MyClass.h
class MyClass{
public:
static const int MyArraySize = 256;
private:
int MyArray[MyArraySize];
};

This works but it's not nice for two reasons:

1) It doesn't separate interface from implementation. I would prefer to define the variable in the corresponding .cpp file but it doesn't work:

//MyClass.h
class MyClass{
public:
static const int MyArraySize;

[Code] .....

If I delete the line int MyArray[MyArraySize]; the above code works but when I use it to define the size of the array I get a "constant expression expected" error for the line int MyArray[MyArraySize]; which makes sense as the compiler does not know the value of MyArraySize when he reaches int MyArray[MyArraySize]; and therefore can not allocate the memory. Of course I can move MyArray to the heap like that:

//MyClass.h
class MyClass{
public:
static const int MyArraySize;
static const int MyValue;

[Code] .....

But as I mentioned before this causes a remarkable loss of performance.

Something like the following does not work:

//MyClass.h
class MyClass{
public:
static const int MyArraySize = (int) pow(2, 8);
private:
int MyArray[MyArraySize];
};

This gives a "constant expression expected" error for the line static const int MyArraySize = (int) pow(2, 8);

Interestingly the following code works:

//MyClass.h
class MyClass{
public:
static const int MyValue;
};

//MyClass.cpp
#include "MyClass.h"
const int MyClass::MyValue = (int) pow(2, 8);

So if I use pow outside of the class definition I get no errors. Is there any solution to those problems? So what I want is:
1) Don't allocate the array on the heap
2) Separate interface from implementation
3) Being able to use functions like pow to define MyArraySize
4) Not use global variables

View 19 Replies View Related

C++ :: Using Array Initialization List For Own Class

Jun 17, 2014

i'm currently working on a research project and i've been given some specifications

Is there a way i can access/use the array initialisation list i.e

{value,value,value}; .

For my own class? Like this

myclass foo={value,value,value};

View 3 Replies View Related

C++ :: Invalid Initialization Of Reference Of Type

Oct 12, 2013

The error is : invalid initialization of reference of type 'ArrayT<float>&' from expression of type 'const Arrat<float>'...The above errors occur when I tried to do the following code , with operator* overloading :

const ArrayT<float>& b1 = A*A;
ArrayT<float>& c2 = b1*A;// <---- this line makes the error
//b1 is a const ref of ArrayT<float>
//A is just a normal object of ArrayT<float> created by ArrayT<float> A(blah,blah,blah);

The following are the list of operator* overloading :

template <class T>
ArrayT<T>& ArrayT<T>::operator*(ArrayT<T>& b) {blah,blah,blah}
template <class T>
const ArrayT<T>& ArrayT<T>::operator*(ArrayT<T>& b) const

[code]....

I want to use for error multiplication above, but not success.

View 15 Replies View Related

C++ :: Initializing Map - No Matching Constructor For Initialization

Nov 18, 2014

I am trying to create a `std::map` from `std:: string` to a pointer to member function type. I'm initializing the `map` with an initializer list (braced). When I compile, I get a message from the compiler: No matching constructor for initialization.

Example: [URL] .....

View 4 Replies View Related

C++ :: Initialization - Set All Entries In Array To 0 Or A Particular Number

May 19, 2013

How do you set all the entries in an array to 0 or a particular number...

View 3 Replies View Related

C++ :: Constant Data Member Initialization

Apr 9, 2014

Here's a part of my program. What I need to know is how I can pass an argument to the Book constructor so I can change the const data member Category (with cascading capacity if possible. I also posted some of my set functions for further comprehension.

class Book {

friend void CompPrice(Book &,Book&);
//friend function that has access to the member functions of this class
//The arguments sent to it are by address, and of type the class Book, so that it can have access to its member functions
private:
//private data members

[Code]...

View 1 Replies View Related

C++ :: Class Member Variable Initialization?

Dec 18, 2013

Is it possible to initialize class member variables in their definition statement instead of using a constructor?

Is the code bellow correct?

class rectangle
{
float a=0;
float b=0;
public:
string color="Red";
...
};

Which C++ Standard allows it?

View 2 Replies View Related

C++ :: Two Dimensional Array Declaration And Initialization

Mar 28, 2013

I'm having trouble declaring and initializing a two-dimensional array using the C++11 standard conventions. I would like to know how to do it in C++11 style as know how to use the old style.

the exception im getting is:

c++11_array_exp.cpp:37:3: error: too many initializers for ‘std::array<std::array<std::basic_string<char>, 6ul>, 22ul>’

you can find my code here:

[URL]

View 3 Replies View Related

C/C++ :: Explicit Initialization Of Function Templates

Feb 28, 2013

Why will i use explicit instantiation of a template, for a type? If I do not use explicit instantiation, the template is used to create the necessary function then what is the use of explicit instantiation?

template <class Any>
void Swap (Any &, Any &);
// template prototype  
template <> void Swap<job>(job &, job &);
// explicit specialization for job

[Code] ....

In the above eg. explicit instantiation is done for char type. What is the use of this?? If the compiler can make use of the template to make a fn for char type.

<eg. taken from C++ Primer>

View 4 Replies View Related

C/C++ :: Initialization Of Fin Is Skipped By Case Label

Jan 28, 2015

This program was running at first but when I started to change the couts and cins to fouts and fins (in order for them to be save in a file directory), it shows a lot of errors such as:

initialization of 'fin' is skipped by 'case' label
'std::ifstream fin': redefinition

Here is the code of the program:

#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;  
struct file{
    int fnum;
    char fname[50], lname[50];

[Code] ....

View 1 Replies View Related

C++ :: Compiler Error C2374 - Multiple Initialization

Nov 1, 2013

Well, I thought I had this program working but now I'm getting the above referenced compiler error. The program is just a basic user interface. It is for a classwork assignment.

The program is to accept user information as a string, convert it (if needed) to either the int or double variable, and then display the result. I'm using stringstream convert to make the change between types, but I'm not sure if I'm using it right (that might be what's causing the error, I'm not sure). Line 36-37 generates the error.

Code:
#include <iostream>
#include <iomanip>
#include <sstream>
using namespace std;

[Code] ....

View 5 Replies View Related

C++ :: What Is The Maximum Range Of Integer Array For Initialization

May 22, 2014

i have tried like that int arr[1000000] to initialize but it crashed my programm.but if i do int arr[100000] it works fine..why is that and what is the maximum range of integer array initialization??

View 5 Replies View Related

C++ :: Class Constructors And Data Member Initialization

Oct 29, 2014

I recently discovered the new - new to me anyway! - feature of modern C++ that allows you to set the initial value of a data member when you declare it:

class CINTWrapper{
private:
int m_iData=0;
};

This even extends to calling member functions that work with initialization I believe:

class CStringWrapper{
private:
wchar_t* Allocate_Array(const int iBufferSize);
wchar_t* m_pString=Allocate_Array(1);
};

At first, this seemed an extremely useful piece of functionality that C++ had been lacking all along. However, the more I thought about it the more it struck me this feature actually undermines one of the principle design elements of the language - that being the Constructor.

As I understand it the primary purpose of the Constructor is specifically to give the programmer a place where it is guaranteed he can always initialize his data members before anything else is done with the class. However, given the new initialization rules this is no longer necessary. So it largely seems to me that Constructors as a whole are no longer necessary either! Copy-Constructors are a special and vital case. Admittedly when I was using them for their intended purpose I hated either the redundancy you had to introduce across multiple Constructors; those with and without arguments and so on, or alternately the fine tuning of helper-functions to do common initialization between these variants. Now however I sort of regret this cast-iron rule has been taken away.

As a last point, I am trying to change the way I think about programming. I am trying to employ more objects than pure C-style ('int' or 'double', etc) data types and especially to move into templates (although absolutely NOT the Hewlett Packard template library!). Given my current understanding of inheritance in particular it seems to me that using pre-initialized data members rather than Constructor-initialization makes object derivation even more complicated, not less so.

View 16 Replies View Related







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