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 9197587
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T22:06:22+00:00 2026-06-17T22:06:22+00:00

Possible Duplicate: Passing a C++ complex array to C If a third party C

  • 0

Possible Duplicate:
Passing a C++ complex array to C

If a third party C library expects an array of C99 complex numbers as an argument, what is the easiest way to call it from C++, where my complex numbers use the STL complex type? I could just wrap it in a new c function that accepts floats and converts them to complex, but is there a more direct way to do it?

  • 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-17T22:06:23+00:00Added an answer on June 17, 2026 at 10:06 pm

    According to C99:

    6.2.5/13 Each complex type has the same representation and alignment requirements as an array
    type containing exactly two elements of the corresponding real type; the first element is
    equal to the real part, and the second element to the imaginary part, of the complex
    number.

    and according to C++11:

    26.4 if a is an expression of type cv* std::complex<T>* and the expression a[i] is well-defined for an integer expression i, then:

    • reinterpret_cast<cv T*>(a)[2*i] shall designate the real part of a[i], and
    • reinterpret_cast<cv T*>(a)[2*i + 1] shall designate the imaginary part of a[i]

    Together, these mean that the two types have the same layout, so you can simply pass the C function a pointer to the array of std::complex.

    Note that older versions of C++ did not guarantee this layout.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Possible Duplicate: Passing an array as an argument in C++ Sizeof an array in
Possible Duplicate: Passing string from Java into JNI passing string array from java to
Possible Duplicate: Passing parameters to _beginthreadex How can I call TestFunction2 instead of TestFunction1
Possible Duplicate: passing an empty array as default value of optional parameter in c#
Possible Duplicate: passing 2D array to function My question is related to passing an
Possible Duplicate: Passing a class (“Country.class”) as an argument in Java I am trying
Possible Duplicate: MySQL query using an array Passing an array to mysql I have
Possible Duplicate: Sizeof an array in the C programming language? I am passing a
Possible Duplicate: Python passing list as argument I looked for many topics about that,
Possible Duplicate: passing an empty array as default value of optional parameter in c#

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.