I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
Try this:
#include <stdio.h>
enum error_type
{
ERR_1=0
,ERR_2=1
,ERR_3=2
,ERR_4=4
};
struct error_struct
{
int value;
error_type status;
};
int main(int argc, char* argv[])
{
printf("Start\n");
error_type the_go_status=ERR_1;
error_struct err;
err.value=5;
err.status=the_go_status;
printf("Done\n");
getchar();
return 0;
}
I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
I am getting a warning of "assigment from incompatible pointer type". I don't understand why this warning is happening. I don't know what else to declare "the_go_status" variable to other than an integer. (Note: this is not all the code, but just a simplified version I posted to illustrate the problem.)
The warning occurs on the last line of the example I included below.
//In a header file
enum error_type
{
ERR_1 = 0,
ERR_2 = 1,
ERR_3 = 2,
ERR_4 = 4,
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
//In a C file
int the_go_status;
the_go_status = ERR_1;
//Have the error_struct "status" point to the address of "the_go_status"
error_struct.status = &the_go_status; //WARNING HERE!
#include <iostream>
using namespace std;
enum error_type
{
ERR_1 = 0,
ERR_2 = 4,
ERR_3 = 78,
ERR_4 = 9
};
//In a header file
struct error_struct
{
int value;
enum error_type *status;
};
int main() {
enum error_type the_go_status;
the_go_status = ERR_2;
cout<<the_go_status<<endl;
error_struct p1;
p1.value = 6;
p1.status = (enum error_type *)&the_go_status;
cout<<(*p1.status)<<endl;
p1.status++;
cout<<(*p1.status)<<endl;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.