Sachverhalt: Sachverhalt: A. A._, B._ und C._ gründeten eine einfache Gesellschaft, um das Grundstück Z._ mit fünf Einfamilienhäusern zu überbauen. Mit Vorvertrag vom 4. November 1989 verpflichtete sich D._ von der einfachen Gesellschaft ein zu erstellendes 7 1⁄2-Zimmer Einfamilienhaus auf dem Grundstück Z._, zum Preis von Fr. 1'290'000.-- zu kaufen. In Ziffer 18 des Vorvertrages sicherte die einfache Gesellschaft D._ zu, die zur Überbauung Z._ nötigen Dachdecker- und Spenglerarbeiten ihm bzw. der X._ AG zu allgemein anerkannten, marktüblichen Konkurrenzpreisen zu vergeben. Am 27. Juli 1990 schloss die X._ AG als Unternehmerin mit der Y._ AG und der einfachen Gesellschaft über die Spengler- und Bedachungsarbeiten der fünf geplanten Einfamilienhäuser einen Werkvertrag ab. Dieser wurde von der einfachen Gesellschaft als Bauherrin bzw. Bestellerin und von der Y._ AG als Generalunternehmerin unterzeichnet. Der Werkvertrag schliesst die Allgemeinen Bedingungen der Y._ AG ein, welche in Ziff. 4 Art. 11 folgende Regelung vorsehen: "Der Bauherr behält sich das Recht vor, im Leistungsverzeichnis vorgesehene einzelne Positionen auch nach Abschluss des Werkvertrages durch Dritte als Nebenunternehmer (Art. 30) ausführen zu lassen. Sofern dadurch der Gesamtauftrag nicht um mehr als 30 % reduziert wird, führt dies zu keiner Entschädigungspflicht des Bauherrn, auch nicht zu einer Veränderung der vereinbarten Preise und Konditionen (Neufassung)." Mit Vertrag vom 26. Juni 1991 kaufte D._ das im Vorvertrag genannte Grundstück der einfachen Gesellschaft mit dem zwischenzeitlich darauf erstellten 71⁄2-Zimmer-Einfamilienhaus. Nachdem die einfache Gesellschaft beschlossen hatte, drei der fünf geplanten Einfamilienhäuser nicht zu erstellen, klagte D._ am 5. September 1994 beim Amtsgericht Luzern-Stadt gegen C._ als Mitglied der einfachen Gesellschaft auf Zahlung von Schadenersatz wegen entgangenem Gewinn für die entfallenen Spengler- und Dachdeckerarbeiten. Das Amtsgericht wies die Klage ab, da es annahm, nicht D._ sondern die X._ AG sei aktivlegitimiert, Ersatz des ihr entgangenen Gewinnes zu verlangen. B. Am 2. November 1998 reichten D._ und die X._ AG beim Kantonsgericht Nidwalden gegen A._ und die Y._ AG eine Klage ein. Gemäss Ziffer 1 der Klagebegehren beantragte D._ , A._ (nachstehend: Beklagter) zu verpflichten, ihm Fr. 43'178.45 nebst Zins zu bezahlen. In Ziffer 3 der Klagebegehren beantragte die X._ AG (nachstehend: Klägerin), den Beklagten zu verpflichten, ihr Fr. 45'142.20 nebst Zins zu 5 % seit dem 23. Juni 1994 zu bezahlen. Damit verlangte die Klägerin Ersatz des Gewinns, der ihr zufolge des Entzugs von Spengler- und Dachdeckerarbeiten entgangen war. Mit Urteil vom 17. April 2002 verpflichtete das Kantonsgericht den Beklagten in teilweiter Gutheissung von Ziff. 1 der Klagebegehren, D._ Fr. 30'304.15 nebst Zins zu 5 % seit 28. Mai 1998 zu bezahlen. Weiter verpflichtete das Kantonsgericht den Beklagten in teilweiser Gutheissung von Ziff. 3 der Klagebegehren, der Klägerin als Entschädigung für entgangenen Gewinn Fr. 30'7171.70 nebst Zins zu 5 % seit 28. Mai 1998 zu bezahlen. Zur Begründung führte das Kantonsgericht zusammengefasst aus, die einfache Gesellschaft habe mit Werkvertrag vom 27. Juni 1991 die Spengler- und Dachdeckerarbeiten an fünf geplanten Einfamilienhäusern der Klägerin übertragen und habe davon nur zwei erstellen lassen. Zwar bestreite der Beklagte, dass sich die einfache Gesellschaft mit dem Werkvertrag, der von der Y._ AG als Generalunternehmerin unterzeichnet wurde, habe verpflichten wollen. Dieser Einwand dringe jedoch nicht durch, da aus dem Werkvertrag klar erkennbar sei, dass sich auch die einfache Gesellschaft habe verpflichten wollen. Alsdann ging das Kantonsgericht davon aus, der Beklagte sei als ihr Mitglied der einfachen Gesellschaft gegenüber der Klägerin gemäss Art. 377 OR für den Gewinnausfall haftbar, den ihr durch den teilweisen Rücktritt der einfachen Gesellschaft vom Werkvertrag erwachsen sei. Bezüglich der Höhe dieses Gewinnausfalls stützte sich das Kantonsgericht auf ein Gutachten, das davon ausging, die nicht errichteten Dächer seien mit Biberschwanzziegeln zu bedecken gewesen. Gegen das Urteil des Kantonsgerichts appellierte der Beklagte an das Obergericht des Kantons Nidwalden. Dieses hob das angefochtene Urteil am 14. November 2003 teilweise auf, wies das Klagebegehren Ziff. 1 ab. Zudem reduzierte das Obergericht den gemäss Ziff. 3 der Klagebegehren geforderten Ersatz für entgangenen Gewinn auf Fr. 22'759.20 zuzüglich Zins zu 5 % seit 28. Mai 1998. Diese Reduktion begründete das Obergericht damit, dass es entgegen der Annahme des Kantonsgerichts davon ausgehe, es sei vorgesehen gewesen, die nicht erstellten Dächer nicht mit Biberschwanz sondern mit Herz- bzw. Pfannenziegeln zu bedecken. Gegen das Urteil des Kantonsgerichts appellierte der Beklagte an das Obergericht des Kantons Nidwalden. Dieses hob das angefochtene Urteil am 14. November 2003 teilweise auf, wies das Klagebegehren Ziff. 1 ab. Zudem reduzierte das Obergericht den gemäss Ziff. 3 der Klagebegehren geforderten Ersatz für entgangenen Gewinn auf Fr. 22'759.20 zuzüglich Zins zu 5 % seit 28. Mai 1998. Diese Reduktion begründete das Obergericht damit, dass es entgegen der Annahme des Kantonsgerichts davon ausgehe, es sei vorgesehen gewesen, die nicht erstellten Dächer nicht mit Biberschwanz sondern mit Herz- bzw. Pfannenziegeln zu bedecken. C. Der Beklagte erhebt Berufung mit den Anträgen, das Urteil des Obergerichts sei aufzuheben, und die von ihm an die Klägerin zu bezahlende Entschädigung für entgangenen Gewinn sei auf Fr. 10'874.25 zuzüglich Zins zu 5 % seit 28. Mai 1998 zu reduzieren. Eventualiter sei das Verfahren zur Festlegung dieses Gewinns an die Vorinstanz zurückzuweisen. Die Klägerin beantragt, auf die Berufung nicht einzutreten, eventualiter sie abzuweisen.