473,769 Members | 1,803 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

g++: error: invalid use of member (did you forget the '&' ?)

I've been tearing my hair out over this:

#ifndef MATRIX2_H
#define MATRIX2_H

#include <QVector>
template<class T>
class Matrix2
{
public:
Matrix2() : m_rows(0), m_cols(0) {}
Matrix2(int rows,int cols) : m_rows(rows), m_cols(cols), m_data(rows *
cols) {}
Matrix2(int rows, int cols, QVector<T> data) : m_rows(rows),
m_cols(cols), m_data(data) {}

void resize(int rows, int cols)
{
m_data.resize(r ows * cols);
m_rows = rows;
m_cols = cols;
}

T& operator()(int x, int y)
{
return m_data[x * cols + y];
}

const T& at(int x, int y) const
{
return m_data.at(x * cols + y);
}

int rows() const
{
return m_rows;
}

int cols() const
{
return m_cols;
}
private:
int m_rows, m_cols;
QVector< T > m_data;

};
#endif

offending line:
class DataTable {
..
..
Matrix2<int, int> m_data;
..
..
}

void DataTable::read Data() {
..
..
m_data(row, varIndex) = DataTable::MISS ING;
..
..
}

Error:
Matrix2.h: In member function 'T& Matrix2<T>::ope rator()(int, int)
[with T = int]':
DataTable.cpp:8 5: instantiated from here
Matrix2.h:22: error: invalid use of member (did you forget the '&' ?)
Matrix2.h: In member function 'const T& Matrix2<T>::at( int, int) const
[with T = int]':
DataTable.cpp:1 47: instantiated from here
Matrix2.h:27: error: invalid use of member (did you forget the '&' ?)

Thanks in advance!

Jul 23 '05 #1
7 12026
<ba****@gmail.c om> wrote in message
news:11******** **************@ z14g2000cwz.goo glegroups.com.. .

T& operator()(int x, int y)
{
return m_data[x * cols + y];
Sholud be m_cols or cols()
}

const T& at(int x, int y) const
{
return m_data.at(x * cols + y);
Same here...
} [...] int m_rows, m_cols;


Ali

Jul 23 '05 #2
Ian
ba****@gmail.co m wrote:
I've been tearing my hair out over this:

#ifndef MATRIX2_H
#define MATRIX2_H

#include <QVector>
template<class T>
class Matrix2 offending line:
class DataTable {
.
.
Matrix2<int, int> m_data;
.

Why two template arguments when Matrix2 only has one?

Ian
Jul 23 '05 #3
Oops -- typo. It's really just

Matrix2<int> m_data;

Jul 23 '05 #4
Figured it out: I used cols instead of m_cols. Of course, the compiler
helpfully gives me an "Invalid use of member" error which has no actual
meaning instead of saying the obvious "cols not defined"

Jul 23 '05 #5
"cols" is undefined in those functions. It should be m_cols

And what is QVector? Is it the same as std::vector?

Jul 23 '05 #6
Did you really mean

T& operator()(int x, int y)
{
return m_data[x * cols + y];
}

since there is no "cols" in scope?

In the future you might want to post the code you're having a problem
with, and add line number so we don't have to guess.

-- smw

Jul 23 '05 #7
<bh*******@gmai l.com> wrote in message
news:11******** **************@ g47g2000cwa.goo glegroups.com.. .
Figured it out: I used cols instead of m_cols. Of course, the compiler
helpfully gives me an "Invalid use of member" error which has no actual
meaning instead of saying the obvious "cols not defined"


You probably have figured this one out too, but for the sake of
completeness; cols was defined in your original code:

template<class T>
class Matrix2
{
[...]

T& operator()(int x, int y)
{

Invalid use of member is right here:

return m_data[x * cols + y];
}

[...]

Here is the member that is being used above in an invalid way:

int cols() const
{
return m_cols;
}
};

Ali

Jul 23 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
3510
by: shishir | last post by:
hi the following may be offtopic. gcc 3.3.3 compiler throws error like .....: error: invalid in-class initialization of static data member of non-integral type `const char' ...... error: looser throw specifier for virtual void X::y() etc
4
6615
by: db_from_mn | last post by:
Using Visual Studio, 2003: When I create a deployment project and try to install it, I get Installer Error 2705: Invalid Table, Could not be linked as tree. How can I debug this? It seems that I should view the .msi file, but I don't know how. My Solution has several dlls in its hierarchy. Can someone help me out? Thanks, Dennis
6
4753
by: Peter Frost | last post by:
Please help I don't know if this is possible but what I would really like to do is to use On Error Goto to capture the code that is being executed when an error occurs. Any help would be much appreciated. Thanks in advance
0
23510
by: HKSHK | last post by:
This list compares the error codes used in VB.NET 2003 with those used in VB6. Error Codes: ============ 3: This Error number is obsolete and no longer used. (Formerly: Return without GoSub) 5: Procedure call or argument is not valid. 6: Overflow. 7: Out of memory.
2
3129
by: al3x4nder | last post by:
I`m need hanling XSLT errors in my script, before I`m use Sablotron, that has nice interface for it: ------------8<------------------ function ProduceXHTML($xml, $xsl){ $xh = xslt_create(); xslt_set_encoding ($xh, CODE_PAGE); $arguments = array('/_xml' => $xml, '/_xsl' => $xsl); $result = @xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
12
2534
by: mast2as | last post by:
Hi everyone... I have a TExceptionHandler class that is uses in the code to thow exceptions. Whenever an exception is thrown the TExceptionHander constructor takes an error code (int) as an argument. I was hoping to create a map<int, const char*that would be used in the showError member function of the TExceptionHandler class where the key (int) would be the error code and const char* the message printed out to the console. My question...
7
15011
by: The|Godfather | last post by:
Hi everybody, I read Scotte Meyer's "Effective C++" book twice and I know that he mentioned something specific about constructors and destructors that was related to the following error/warning: "error: invalid use of nonstatic data member " However, he did NOT mention this error in the book explicitly.It happens always in the constructor when you try to initialize some data members in the constructor and try to accsess other data...
2
3933
by: Nick | last post by:
I'm learning C++ and ran into a compile error using Visual C++ 2005 Express on the following example program (located at http://www.cplusplus.com/doc/tutorial/templates.html): // template specialization #include <iostream> using namespace std; template <class T> class container {
10
6976
by: happyse27 | last post by:
Hi All, I got this apache errors(see section A1 and A2 below) when I used a html(see section b below) to activate acctman.pl(see section c below). Section D below is part of the configuration of section c. Not sure where went wrong as the web page displayed internal server error. Also, what is the error 543? and error 2114. Where to find the list of errors in websites as it is not the standard apache error. I could not find...
0
9423
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10047
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9995
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9863
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6674
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5304
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3962
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3563
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2815
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.