Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8480747
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T19:22:45+00:00 2026-06-10T19:22:45+00:00

I am writing an Objective-C class that needs to make function calls on a

  • 0

I am writing an Objective-C class that needs to make function calls on a C++ class instance. I found this suggestion, but if I try it I get an error for having an incomplete definition of type ‘struct MyCPlusPlusClass’

struct MyCPlusPlusClass;

typedef struct MyCPlusPlusClass MyCPlusPlusClass;

@interface MyBridgeClass() {
    MyCPlusPlusClass *my_CPlusPlus;
}

...

- (id)initWithMrGame:(MyCPlusPlusClass *)cPlusPlus
{
    self = [super init]; 
    if (self) {
        my_CPlusPlus = cPlusPlusClass;
        my_CPlusPlus->p_favorite_integer = 0; // Compiler error
    }
    return self;
}

The actual definition occurs in a .mm file that’s generated by a pre-compiler, just to add another layer of challenge.

How might I get this to work?

EDIT: Interpreting Adam’s answer

// in MyCode.h

struct MyCPlusPlusClass;  // Forward declaration, no need for #include/#import

@interface MyBridgeClass() {
    struct MyCPlusPlusClass *my_CPlusPlus;
}


// in MyCode.m
#include MyCode.h


// in BigGenerateFile.mm
class MyCPlusPlusClass;

class MyCPlusPlusClass { ... }

My goal is to be able to use MyCPlusPlusClass in MyCode.m, but I can’t include the .mm file because the compiler gets very unhappy. It may be that the way this thing is architected is going to make me go a different route.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T19:22:47+00:00Added an answer on June 10, 2026 at 7:22 pm

    You can’t access member variables of incomplete structures/classes. To do so, you need to the full definition. Typically you use forward declarations in header files so that anything that includes that header doesn’t pull in lots of unnecessary other header files it won’t need, but for source files you usually need the full definitions.

    So I’d suggest changing you code to something like this:

    // Header file (.h)
    struct MyCPlusPlusClass;  // Forward declaration, no need for #include/#import
    
    @interface MyBridgeClass() {
        struct MyCPlusPlusClass *my_CPlusPlus;
    }
    
    // Source file (.mm)
    #include "MyCPlusPlusClass.h"
    ...
    // Can now access my_CPlusPlus->p_favorite_integer etc.
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am writing an Objective-C class but it uses an API written in C.
I am writing a simple console application in Objective-C but I have heard that
I am writing an Objective-C class that I want to be thread safe. To
I'm writing an Objective-C++ class interface that has to be usable from both Objective-C
I'm writing a Javascript class that passes a function with one parameter to an
I'm writing a Cocoa app in Objective C that's communicating with a webservice and
I'm writing a program that calculates the Jacobi algorithm. It's written in Objective-C since
I’m writing an objective-c program that does some calculations based on time and will
I'm currently writing an Objective-C class which has a relatively complex method in its
i am writing my first custom class in objective-c and when i am trying

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.