Search Results

Search found 14037 results on 562 pages for 'pair programming'.

Page 212/562 | < Previous Page | 208 209 210 211 212 213 214 215 216 217 218 219  | Next Page >

  • Odd behavior when recursively building a return type for variadic functions

    - by Dennis Zickefoose
    This is probably going to be a really simple explanation, but I'm going to give as much backstory as possible in case I'm wrong. Advanced apologies for being so verbose. I'm using gcc4.5, and I realize the c++0x support is still somewhat experimental, but I'm going to act on the assumption that there's a non-bug related reason for the behavior I'm seeing. I'm experimenting with variadic function templates. The end goal was to build a cons-list out of std::pair. It wasn't meant to be a custom type, just a string of pair objects. The function that constructs the list would have to be in some way recursive, with the ultimate return value being dependent on the result of the recursive calls. As an added twist, successive parameters are added together before being inserted into the list. So if I pass [1, 2, 3, 4, 5, 6] the end result should be {1+2, {3+4, 5+6}}. My initial attempt was fairly naive. A function, Build, with two overloads. One took two identical parameters and simply returned their sum. The other took two parameters and a parameter pack. The return value was a pair consisting of the sum of the two set parameters, and the recursive call. In retrospect, this was obviously a flawed strategy, because the function isn't declared when I try to figure out its return type, so it has no choice but to resolve to the non-recursive version. That I understand. Where I got confused was the second iteration. I decided to make those functions static members of a template class. The function calls themselves are not parameterized, but instead the entire class is. My assumption was that when the recursive function attempts to generate its return type, it would instantiate a whole new version of the structure with its own static function, and everything would work itself out. The result was: "error: no matching function for call to BuildStruct<double, double, char, char>::Go(const char&, const char&)" The offending code: static auto Go(const Type& t0, const Type& t1, const Types&... rest) -> std::pair<Type, decltype(BuildStruct<Types...>::Go(rest...))> My confusion comes from the fact that the parameters to BuildStruct should always be the same types as the arguments sent to BuildStruct::Go, but in the error code Go is missing the initial two double parameters. What am I missing here? If my initial assumption about how the static functions would be chosen was incorrect, why is it trying to call the wrong function rather than just not finding a function at all? It seems to just be mixing types willy-nilly, and I just can't come up with an explanation as to why. If I add additional parameters to the initial call, it always burrows down to that last step before failing, so presumably the recursion itself is at least partially working. This is in direct contrast to the initial attempt, which always failed to find a function call right away. Ultimately, I've gotten past the problem, with a fairly elegant solution that hardly resembles either of the first two attempts. So I know how to do what I want to do. I'm looking for an explanation for the failure I saw. Full code to follow since I'm sure my verbal description was insufficient. First some boilerplate, if you feel compelled to execute the code and see it for yourself. Then the initial attempt, which failed reasonably, then the second attempt, which did not. #include <iostream> using std::cout; using std::endl; #include <utility> template<typename T1, typename T2> std::ostream& operator <<(std::ostream& str, const std::pair<T1, T2>& p) { return str << "[" << p.first << ", " << p.second << "]"; } //Insert code here int main() { Execute(5, 6, 4.3, 2.2, 'c', 'd'); Execute(5, 6, 4.3, 2.2); Execute(5, 6); return 0; } Non-struct solution: template<typename Type> Type BuildFunction(const Type& t0, const Type& t1) { return t0 + t1; } template<typename Type, typename... Rest> auto BuildFunction(const Type& t0, const Type& t1, const Rest&... rest) -> std::pair<Type, decltype(BuildFunction(rest...))> { return std::pair<Type, decltype(BuildFunction(rest...))> (t0 + t1, BuildFunction(rest...)); } template<typename... Types> void Execute(const Types&... t) { cout << BuildFunction(t...) << endl; } Resulting errors: test.cpp: In function 'void Execute(const Types& ...) [with Types = {int, int, double, double, char, char}]': test.cpp:33:35: instantiated from here test.cpp:28:3: error: no matching function for call to 'BuildFunction(const int&, const int&, const double&, const double&, const char&, const char&)' Struct solution: template<typename... Types> struct BuildStruct; template<typename Type> struct BuildStruct<Type, Type> { static Type Go(const Type& t0, const Type& t1) { return t0 + t1; } }; template<typename Type, typename... Types> struct BuildStruct<Type, Type, Types...> { static auto Go(const Type& t0, const Type& t1, const Types&... rest) -> std::pair<Type, decltype(BuildStruct<Types...>::Go(rest...))> { return std::pair<Type, decltype(BuildStruct<Types...>::Go(rest...))> (t0 + t1, BuildStruct<Types...>::Go(rest...)); } }; template<typename... Types> void Execute(const Types&... t) { cout << BuildStruct<Types...>::Go(t...) << endl; } Resulting errors: test.cpp: In instantiation of 'BuildStruct<int, int, double, double, char, char>': test.cpp:33:3: instantiated from 'void Execute(const Types& ...) [with Types = {int, int, double, double, char, char}]' test.cpp:38:41: instantiated from here test.cpp:24:15: error: no matching function for call to 'BuildStruct<double, double, char, char>::Go(const char&, const char&)' test.cpp:24:15: note: candidate is: static std::pair<Type, decltype (BuildStruct<Types ...>::Go(BuildStruct<Type, Type, Types ...>::Go::rest ...))> BuildStruct<Type, Type, Types ...>::Go(const Type&, const Type&, const Types& ...) [with Type = double, Types = {char, char}, decltype (BuildStruct<Types ...>::Go(BuildStruct<Type, Type, Types ...>::Go::rest ...)) = char] test.cpp: In function 'void Execute(const Types& ...) [with Types = {int, int, double, double, char, char}]': test.cpp:38:41: instantiated from here test.cpp:33:3: error: 'Go' is not a member of 'BuildStruct<int, int, double, double, char, char>'

    Read the article

  • What is the Difference Between Learning HTML and Learning a Programming Language?

    - by Brad Johansen
    I learned HTML and CSS about 8 months ago, and recently, about 2 months ago I started learning Python and Ruby. I find it much harder/time consuming to understand and be able to put Python and Ruby into practice than it was HTML or CSS. How is learning/understanding HTML and CSS, and being able to use them different from learning a programming language like Python or Ruby, and being able to put them in practice.

    Read the article

  • What is the best way to use whitespace while programming?

    - by Emmanuel Smith
    I'm fairly new to programming and from learning I have seen different ways of formatting code, comments, etc; and have been recommended on different techniques. I mostly program in C#, C++, and Java so I want to know what is the the best way to layout code so that if other people where to go through it, they would be impressed by how simple and easy to understand it is. I would like to know the same thing for commenting as well.

    Read the article

  • What is the best programming paper you have read?

    - by SDReyes
    I think that papers are a great information source. they generally tend to be built upon other experts investigations, and generally are short enough to transmit you great ideas in a short coffee read. But I don't really have read many papers in this area. So I would like to start soon and I'll be glad to hear your thoughts. So I wonder what have been the best programming paper you have read?

    Read the article

  • What is the best mobile website programming language to choose?

    - by rhuisman
    We currently have an iPhone app and would like to build a mobile website that has similar functionalities so it is accessible on multiple types of handsets. what programming language should we best use for this? our app would like to use geolocation, camera/photo upload and access to the phone's contacts. hope you can help us out! best, Robbert

    Read the article

  • Best way to solve programming problem without a computer?

    - by Kevin
    What is the best way to solve programming questions when you are givien a question to write a program, in an exam for example where you have no computer to test it. Is there a certain technique that people use to help them solve these type of written problems? Or is it all down to knowlegde of the language?

    Read the article

  • How to create programming flowchart/documentation from VB.NET source code?

    - by Greg
    Hi, what tools do you use to create programming flowchart/documentation from VB.NET source code? There are absolutely no comments/documentation at present. I am a beginner, i.e. I tried Sandcastle but it is way over my head and could not get it going, not even with GUI. Fatesoft's CodeVisual To Flowchart is OK but it is almost the same as the code and I still don't understand the code.

    Read the article

  • how to store a value returned from a sql query in a variable in batch programming ?

    - by Arunachalam
    how to store a value returned from a sql query in a variable in batch programming ? i can invoke sqlserver queries from my cmd prompt using sqlcmd server name then the qwery this is query statement i m going to use SELECT CASE WHEN DATEDIFF(minute, record_timestamp, GETDATE()) < 10 THEN 1 ELSE 0 END how to store the value returned i tried using set variablename but it save the statement rather than the return value .. and if i save this in a variable what type of variable it will can i compare it with numeric values in if condition

    Read the article

  • What is the best XNA book, which can teach you the 2d & 3d game programming from basic to advance?

    - by Setve
    1- What is the best XNA book, which can teach the 2d & 3d game programming from basic to advance? Is it possible after reading that book create professional looking 3d games??? 2- Any suggestion how can become professional game developer with XNA, and create cool 3d games? 3- Is it XNA industry standard for creating games? 4- Is it any work place can join as XNA game developer?

    Read the article

  • How to make a fun effective programming meetup that benefits both beginners and advanced coders.

    - by adam
    If you could organise your own programming meetup how would you organise the session so that people had fun learnt lots were able to participate despite their level. what kinds of topics, activities, challenges etc would you include (not all in one session but in general) how would you handle differing levels? what do you think are some important things to learn, to achieve? Any input is greatly appreciated. Im not sure how Id mark the best answer, perhaps leave it to the community to vote for it.

    Read the article

  • What programming language is good for a beginner and for a hobby? [closed]

    - by Lawrence
    Possible Duplicates: What is the easiest language to start with? What programming language should I choose for an independent study language? Well as the title says what language is good for a beginner and for a hobby? I'll probably be making some games or desktop apps with a gui most likely. I'll be working in Windows and Linux. Oh and could you also give some links to tutorials for the language?

    Read the article

< Previous Page | 208 209 210 211 212 213 214 215 216 217 218 219  | Next Page >