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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T12:35:27+00:00 2026-06-16T12:35:27+00:00

I have been writing a Pong game for Arduino using capacitive buttons, and I

  • 0

I have been writing a Pong game for Arduino using capacitive buttons, and I have been getting a “no matching function for call to ‘CapacitiveSensor::CapacitiveSensor()'” error.. Here is the code for the class I’ve been the error with:

//Input.cpp

#include <CapacitiveSensor.h>
#include "Input.h"
#include "Arduino.h"

Input::Input (byte sPin, byte rPin1, byte rPin2) { //I get the error on this line
    upButton = CapacitiveSensor(sPin, rPin1);
    downButton = CapacitiveSensor(sPin, rPin2);
}
//Continued for bChk

And then this is the header:

//Input.h

#ifndef Input_H
#define Input_H
#include "Arduino.h"
#include <CapacitiveSensor.h>

class Input{
    public:
        const static byte up = 0;
        const static byte down = 1;
        CapacitiveSensor upButton;
        CapacitiveSensor downButton;
        boolean bChk(byte button);
        Input(byte sPin, byte rPin1, byte rPin2);
};

#endif

I know standard naming conventions say that constants should be capitalized, but they are already reserved. And also that variables and such should be private. I’m lazy. Also, I get the error on a different line than the one that I call the constructor with… I didn’t make the CapacitiveSensor class, either.

I’m on a Mac, if it matters (I doubt 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-16T12:35:28+00:00Added an answer on June 16, 2026 at 12:35 pm

    Looks like the CapacitiveSensor class does not define a default constructor, therefore the Input class doesn’t know how to construct upButton and downButton.

    An option is to initialise upButton and downButton in the Input constructor, passing the required arguments:

    class Input {
    public:
        Input(byte sPin, byte rPin1, byte rPin2)
            : upButton(CapacitiveSensor(sPin, rPin1))
            , downButton(CapacitiveSensor(sPin, rPin2))
        {}
        CapacitiveSensor upButton;
        CapacitiveSensor downButton;
    };
    

    Another option is to transform those members in pointers, and use new to allocate them with the required arguments. Example:

    class Input {
    public:
        Input() : upButton(NULL), downButton(NULL) {}
        void initializeMembers(byte sPin, byte rPin1, byte rPin2) {
            upButton = new CapacitiveSensor(sPin, rPin1);
            downbutton = new CapacitiveSensor(sPin, rPin2);
        }
        CapacitiveSensor *upButton;
        CapacitiveSensor *downButton;
    };
    

    Or ultimately, you could extend the CapacitiveSensor class, define a default constructor, and pass fixed arguments to the super constructor. I believe that is not what you want, but anyway:

    class CustomCapacitiveSensor : public CapacitiveSensor {
    public:
        CustomCapacitiveSensor() {
            CapacitiveSensor(1, 2);
        }
    };
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have been writing a SOAP client application in C++ on Ubuntu using OpenSSL
I have been writing unit tests using NUnit and Moq with my Silverlight code
I have been writing an application using ASP.Net MVC4, where the majority of the
I have been writing an OpenGL game engine for a while which uses SDL
I have been writing an c s-function block for simulink.I want my output as
I have been writing a script to add untracked files using git add .
I have been writing my own library using Direct X and have hit an
I have been writing a small application using C# to copy a document into
I have been writing apps for my Droid x2 using the new Android update
I have been writing and debugging a minifilter on Windows 7 using the IFS

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.